很抱歉这个问题,我一直在做 Python 和 JS,现在回到 C++ 来分配一个数组。
如何才能比这更容易:
float* d1 = (float*)calloc(4,sizeof(float));
d1[0] = 1;
d1[1] = 2;
d1[2] = 3;
d1[3] = 4;
我习惯了 d1 = [1,2,3,4]
并且无法理解它......
最佳答案
我看到以下用于创建 float
数组的选项。
选项 1
使用常规数组。
float d1[] = {1.0f, 2.0f, 3.0f, 4.0f};
或
float d1[4] = {1.0f, 2.0f, 3.0f, 4.0f};
选项 2
使用std::array
。
std::array<float, 4> d1{1.0f, 2.0f, 3.0f, 4.0f}
选项 3
使用std::vector
。
std::vector<float> d1{1.0f, 2.0f, 3.0f, 4.0f}
除非有充分的理由,否则更喜欢使用 std::array
或 std::vector
。 std::array
如果您在编译时知道数组的大小,则合适。如果您在编译时不知道数组的大小,std::vector
是合适的。
使用 std::array
或 std::vector
的主要好处之一是您可以在变量为在函数调用中使用。如果使用常规数组,则数组会衰减为指针。您必须在另一个参数中传递大小,以帮助函数防止使用越界索引访问数组。
关于c++ - 简单的 C++ 数组赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45901848/