【发布时间】:2021-08-28 06:14:26
【问题描述】:
如果我们有一个包含数组的类,我们称它为向量并将值保存在一个名为 data 的简单数组中:
class vector
{
public:
double data[3];
<...etc..>
};
注意:称为vector是为了解释清楚,不是std::vector!!!
所以我的问题是,如果我只在类内的这个数组附近存储 typedefs 和一些 constrexpr,如果类在内存中只有 3 个双精度数,我是否正确? 然后,如果我创建一个向量数组,例如:
vector vl[3];
注意:数组的大小在编译时并不总是已知的,示例中不要使用 3。
那么在记忆中它只会是9个双打,对吧? 所以 vl[0].data[3] 总是会返回第二个向量的第一个元素?而在这种情况下,是否保证结果总是像内存中的一个简单数组?
我发现只有数组数组的情况,但没有包含数组的类数组,我不确定最后是否完全相同。我做了一些测试,似乎它像我预期的那样工作,但我不知道它是否总是正确的.. 谢谢!
【问题讨论】: