【发布时间】:2012-10-02 16:16:58
【问题描述】:
在 C++ 中有没有办法构造一个浮点数组来初始化它的值?
例如,我这样做:
float* new_arr = new float[dimension];
for(unsigned int i = 0; i < dimension; ++i) new_arr[i] = 0;
施工期间可以做作业吗?
【问题讨论】:
标签: c++
在 C++ 中有没有办法构造一个浮点数组来初始化它的值?
例如,我这样做:
float* new_arr = new float[dimension];
for(unsigned int i = 0; i < dimension; ++i) new_arr[i] = 0;
施工期间可以做作业吗?
【问题讨论】:
标签: c++
float* new_arr = new float[dimension]();
【讨论】:
new float[dimension]{} 甚至给出值:new float[dimension]{1.f,.5f,1.3f}。
memcpy, std::copy
在这种特殊情况下(全为零),您可以使用值初始化:
float* new_arr = new float[dimension]();
您可以使用std::vector<float> 而不是显式使用new[]:
std::vector<float> new_vec(dimension, 0);
【讨论】:
float*,那么只需传递 &v[0]。 std::vector 保证了连续缓冲区。所以除非你的库是像自定义运行时在显卡上进行多处理,否则只需使用std::vector。