Используйте randi
, чтобы сгенерировать эти целые числа в комбинации с randsample
(из пакета статистики), чтобы определить это смещение.
pkg load statistics;
R = randsample([randi(50), randi([51 80]), randi([81 100])], 1, true, ...
[0.50, 0.3, 0.2]);
Неверный образец MSDN. Вызывающий абонент освобождает и вводит / выводит bstrs. Если это in / out, вы должны передать null или действительный bstr. Если он только выведен, его не нужно инициализировать.
Это не очень ясно из правил выделения памяти msdn com , но клиентская заглушка выделяет память на выходных значениях, так что с точки зрения вызывающего абонента сервер сделал. Кто еще может освободить его, кроме звонящего?
Тони прав, но я хотел расширить его ответ. Ситуация не ограничивается только BSTR. Вызывающий отвечает за освобождение любой памяти, которая возвращается через параметры out или in / out.