Доста съм сигурен, че мога безопасно да направя:
void funcA(VARIANT &V,_variant_t &vt)
{
vt = V;
}
Но какво ще кажете за обратното:
void funcB(VARIANT &V,_variant_t &vt)
{
V = vt;
}
Виждам някакво НАИСТИНА странно поведение в приложението си, което отдавам на свързани с COM проблеми с нишката. Но тогава се зачудих дали прецаквам паметта, използвайки варианти погрешно. Във funcB VARIANT V е част от безопасен масив, който се подготвя за COM повикване. С моя ред V=vt, правя ли плитко копие, което ще развали нещата, когато един и същ вариант бъде освободен два пъти?
Наистина харесвам _variant_t и избягвам всички методи ::VariantXXX, има ли добър начин да използвам _variant_t във funcB за автоматизиране на копирането?