Каким требованиям должна соответствовать структура при использовании на границе общения с DLL?

Подскажите, пожалуйста, каким требованиям должна соответствовать структура для того, чтобы ее можно было использовать для общения через границу DLL (при использовании export "C")?

Для проверки структуры я могу использовать следующие шаблоны:

std::is_pod<>
std::is_standard_layout<>
std::is_trivial<>

Я не совсем понимаю, каким требованиям должна соответствовать такая структура.

Достаточно ли ей иметь стандартную компоновку (is_standard_layout)?

Может быть, она обязательно должна быть тривиальной (is_trivial)?

Или же, она должна быть именно простой (is_pod)?


Ответы (0 шт):