XLL:将xloper转换为矢量<double>
XLL: Convert xloper to vector<double>
如何将xloper或xloper12转换为向量?
这是一个直截了当的问题,我看不出还有什么其他细节可以提供。
这有点痛苦,但这里有一些框架代码可以帮助您入门。
假设您有一个LPXLOPER12 lpxloper
(或旧的LPXLOPER
类型)。使用获得类型
DWORD type = lpxloper->xltype & ~(xlbitXLFree|xlbitDLLFree);
唯一的非标量类型是xltypeMulti
。如果你有这样的类型,那么你可以使用
auto rows = lpxloper->val.array.rows;
auto columns = lpxloper->val.array.columns;
设置std::vector
并使用以下内容提取元素:
for (decltype(rows) i = 0; i < rows; ++i){
for (decltype(columns) j = 0; j < columns; ++j){
/*element i, j is*/ = lpxloper->val.array.lparray + j + (i * columns);
}
}
我已经使用了auto
和decltype
,所以它可以与XLOPER和XLOPER12一起使用。行索引类型不同。
相关文章:
- 请解释这句话(cout<<1+int((a<b)^((b-a)&1) )<<endl
- 呼叫运营商<<临时
- 如何防止clang格式在流运算符调用之间添加换行符<<
- <<操作员在下面的行中工作
- C++在数学计算中将double转换为int
- 在c++中为double类型的数组创建一个unique_ptr
- vector<vector<double>> to mxArray using memcpy
- (double) 和 double() 之间的区别
- C++标准是否允许<double>在没有开销的情况下实现 std::可选
- C++ Version Of Double.longBitsToDouble
- 错误:类型"double()"和"double()"的操作数无效到二进制&quo
- 有没有办法在C++的赋值中将"char**"转换为"double"?
- 为什么 nlohmann/json 序列化 "null" 而不是在 double 上"0"?
- 使用 std::vector<double> 访问由 std::unique_ptr<double[2] 管理的数据>
- 将 std::vector<double> 从 C++ 包装到 C 以在 Swift 中使用
- 错误:无法将"<lambda(double)>"转换为"double(*)(double)"
- 如何正确将"strings"转换为"double"?
- 如何在<double>矢量中创建复杂类型的模板<T>?
- "double* grade"、"double *grade"和"double* fn()"有什么区别?
- C - 创建矢量&lt; vector&lt; double&gt;&gt;矩阵具有分配而不是inizializ