Имеется следующая структура :
typedef struct _PARAM
{
std::list<UCHAR> charList;
std::map<std::wstring,size_t> stringMap;
}PARAM,*PPARAM;
И вот такой код :
PARAM Parameters;
GetParameters(&Parameters);
//1
......
void GetParameters(PPARAM Parameters)
{
PARAM initParameters;
initParameters.charList.push_back(0xA);
initParameters.stringMap.insert(std::make_pair(10,L"test");
*Parameters = initParameters;
}
Будут ли правильно скопированы все поля initParameters в Parameters после вызова GetParameters, вызовутся ли конструкторы копирования для std::list и std::map?
Как вообще лучше поступать при копировании сложных структур?