在构造上初始化一个float数组

Asl*_*986 9 c++

在C++中有没有办法构造一个初始化它的值的浮点数组?

例如,我做:

float* new_arr = new float[dimension];
for(unsigned int i = 0; i < dimension; ++i) new_arr[i] = 0;
Run Code Online (Sandbox Code Playgroud)

在建筑期间可以进行任务吗?

non*_*one 21

float* new_arr = new float[dimension]();
Run Code Online (Sandbox Code Playgroud)


hmj*_*mjd 9

在这种特殊情况下(全零),您可以使用值初始化:

float* new_arr = new float[dimension]();
Run Code Online (Sandbox Code Playgroud)

而不是明确使用new[]你可以使用一个std::vector<float>代替:

std::vector<float> new_vec(dimension, 0);
Run Code Online (Sandbox Code Playgroud)

  • @Aslan986:如果问题是某个函数预测一个`float*`,那么就简单地传递`&v [0]`.`std :: vector`保证了连续的缓冲区.所以,除非你的库就像是在自定义运行时的图形卡上进行多处理,那么只需使用`std :: vector`. (4认同)