我正在使用c ++,我在书中看到了这个问题。 这个声明将占用多少字节?
var objectives= selectedOb.
.Select(obj=> new Objective
{
//map properties here like Id = obj.Id
});
exam.Objectives.AddRange(objectives);
并没有关于该机器内存的额外信息? 是否有可能为此明确回答?
答案 0 :(得分:3)
它依赖于实现。所以你要发现:
float** p[5][10][2];
std::cout << "sizeof(p) == " << sizeof(p) << '\n';
答案 1 :(得分:2)
只是澄清一下。在这里,您将声明一个3D矩阵,其中的元素是指向/浮动的指针。由于你有5x10x2 = 100指针,而指针占用4b或8b,答案可能是400b或800b。
不要用100 * sizeof(float)弄乱这个,因为矩阵元素不是浮点数。
答案 2 :(得分:1)
这取决于平台。
在x86平台上,它占用5 * 10 * 2 * 4个字节,因为任何指针占用平台中的4个字节。
因此,它在x64平台中占用5 * 10 * 2 * 8个字节。