Это DLL-безопасно возвращать итераторы? - PullRequest
0 голосов
/ 11 января 2011

Я имею в виду, если класс происходит из DLL с собственной кучей и имеет собственный вектор, безопасно ли иметь публичные функции, которые возвращают итераторы в этот вектор?*

Ответы [ 2 ]

2 голосов
/ 11 января 2011

Да.Одно предостережение: при использовании DLL используйте DLL времени выполнения C ++, а не статическое связывание.

Статическое связывание используется в 2 случаях: при разработке отдельного EXE-файла (где DLL-библиотека времени выполнения будет первой и единственной DLL) и при разработке многократно используемой DLL без интерфейса C ++ (т.е. либо интерфейс C, либоCOM интерфейс).Ни один из этих случаев не применим здесь.У вас должен быть интерфейс C ++ для возврата итераторов.

При динамическом связывании среды выполнения C ++ существует только одна среда выполнения.

0 голосов
/ 11 января 2011

Это не так.Тот факт, что у него есть своя куча, мешает ему работать правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...