我有一个关于初始化的简短问题,我并不完全理解。 关于代码:我正在寻找对,我的矢量“vector temp”保存了我的循环找到一对的地方。在我的Temp填充了一些值之后,我检查它以查找找到对的位置。我做了2个for循环来遍历向量。外环i和内环j。 Temp将j值存储在找到一对的位置。 现在关于我的问题,这是代码
bool repeat = 1;
vector<double>::iterator rep_check;
rep_check = find(repeat_check.begin(), repeat_check.end(), d_in[i]);
if( rep_check == repeat_check.end() ) repeat = 0;
repeat_check.push_back(d_in[i]);
if(!repeat) out.push_back(temp);
else out.push_back(vector<int> (1,temp[0]));
这部分还在i循环!!!!! 我不明白最后一部分:'vector(1,temp [0])'。这被推入我的输出矩阵(2x2矩阵),但我不明白这里的语法。我如何解释这最后一部分?
答案 0 :(得分:0)
你在这里做的是推回一个名为vector<int>
的容器中的out
(我猜它是一个向量)。构造函数调用是vector<int> (1,temp[0])
,它表示您要构造一个大小为vector<int>
的{{1}},并且向量元素(在这种情况下只有一个)初始化为{{1 }}。
此向量构造函数的原型如下所示:
1
,描述如下: 填充构造函数:构造一个包含n个元素的容器。每个元素都是val的副本。