Продолжая ответ @ Литона, я хочу подчеркнуть его последнее предложение, то есть ATL CComSafeArray
.Это действительно может сэкономить вам много печатать.CComSafeArray
имеет конструкторы C ++, деструкторы, операторные перегрузки, включая одну для for [], которая дает вам ссылку для чтения / записи на любой элемент в SAFEARRAY
.Короче говоря, вы действительно можете сосредоточиться на своей бизнес-логике, и вам не нужно беспокоиться о SAFEARRAY
сантехнике:
#include <atlbase.h>
#include <atlsafe.h>
// ...
CComSafeArray<double> arr(10);
arr[0] = 2.0;
arr[1] = 3.0;
arr[2] = 5.0;
// ...
По крайней мере, даже если вы не собираетесь использовать CComSafeArray
, этостоит деконструировать его исходный код в <atlsafe.h>
, чтобы лучше понять, что, когда, почему и как работает SAFEARRAY
.