可能重复:
C++ convert vector<int> to vector<double>安全地将矢量<int>分配给矢量<double>?
初始化变量一定计算我必须分配它们的整数数组值。 所以我这样做:
vector<double> vd;
int ai[N]; // Filled somewhere else
vd.assign(ai, ai+N);
这工作在gcc 4.6.1 Linux下。但它总是正确的吗?或者我应该回到常绿:
vd.resize(N);
for(int i=0; i < N; ++i) vd[i] = (double)ai[i];
谢谢澄清!
在[C-转换-vectorint到vectordouble]已经回答(http://stackoverflow.com/questions/6399090/c-convert-vectorint-to- vectordouble)(为什么它不会出现在我的第一次搜索?神秘)。但这也是事实问题,这是有效的。 – mvalle
我已经标记了你的问题,因为它是重复的... – Nim