对于大小为100 * 100和1 * 1的矩阵,我使用sizeOf运算符得到的值相同。
mat A(100,100),B(1,1);
A.randu();
B.randu();
cout<<"Memory requested for A:"<<sizeOf(A);
cout<<"Memory requested for B:"<<sizeOf(B);
输出:
记忆要求A:160
请求内存为B:160
那么如何获得每个变量A,B的代码所需的实际内存。
答案 0 :(得分:2)
mat
类型存储一个双精度数组,所以要将数组的大小作为字节:
A.n_elem * sizeof(double)
A
使用的内存总量为sizeof(A) + (A.n_elem * sizeof(double))
。