Почему возврат std :: vector не генерирует предупреждение компилятора о dll-интерфейсе? - PullRequest
1 голос
/ 19 марта 2020

У меня есть этот вопрос относительно экспорта контейнеров STL в проект Dll.

Я знаю, что когда у меня в классе есть члены данных STL, которые я хочу экспортировать, у меня будет предупреждение компилятора VS C4251 о том, что нет имеющий dll-интерфейс. Однако я попытался использовать PIMPL, чтобы скрыть эти личные элементы данных, и у меня есть методы, которые возвращают контейнеры STL. И на этот раз компилятор не выдал никаких предупреждений. Означает ли это, что теперь безопасно возвращать контейнеры STL, если в качестве членов данных нет контейнеров STL?

Я был бы признателен, если бы кто-нибудь мог дать мне некоторое представление об этом. Спасибо.

...