void Next(ref int pcch,
[MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)]
char[] pchText);
< /code>
Я называю это так: < /p>
int cch = 100;
var buff = new char[cch];
com.Next(ref cch, buff);
< /code>
Сначала скопируют ли слой Interop .net весь массив временному неуправляемому буферу памяти, а затем скопируйте его обратно? Или массив автоматически закрепляется и передается с помощью ссылки?*pcch = 1;
pchText[0] = L'A';
pchText[1] = L'\x38F'; // 'Ώ'
Я получаю 'ώ' обратно, когда я проверяю бафф [1] в C# после возврата. Но я не думаю, что это убедительное доказательство того, что массив прикрепляется, а не скопируется взад -вперед.
int cch = 100; var buff = new char[cch]; com.Next(ref cch, buff); < /code>
Сначала скопируют ли слой Interop .net весь массив временному неуправляемому буферу памяти, а затем скопируйте его обратно? Или массив автоматически закрепляется и передается с помощью ссылки?*pcch = 1; pchText[0] = L'A'; pchText[1] = L'\x38F'; // 'Ώ' [/code]
Я получаю 'ώ' обратно, когда я проверяю бафф [1] в C# после возврата. Но я не думаю, что это убедительное доказательство того, что массив прикрепляется, а не скопируется взад -вперед.
Как вы можете видеть в прилагаемом скриншоте, описан следующий код, чтобы вызвать конструктор копирования, когда OBJ1 копируется с возвращающим значением из вызова MyClass :: createObject . Однако выход показывает, что конструктор по умолчанию...
Следующий код показывает, что конструктор по умолчанию (а не конструктор копии) вызывается, когда obj1 инициализируется копированием с возвращающим значением из вызова в MyClass :: createObject . Что я заметил, так это то, что в таком случае адрес...
Есть два алгоритма STL, которые, по -видимому, очень похожи.
std::copy
std::ranges::copy
Оба алгоритма принимают пару входных итераторов и единый выходной итератор. Входные итераторы определяют диапазон элементов для копирования в качестве...
Есть два алгоритма STL, которые, по -видимому, очень похожи.
std::copy
std::ranges::copy
Оба алгоритма принимают пару входных итераторов и единый выходной итератор. Входные итераторы определяют диапазон элементов для копирования в качестве...