Tag: 推回

如何将多个int一次传入vector?

目前,我必须多次使用vector.push_back() 。 我目前使用的代码是 std::vector<int> TestVector; TestVector.push_back(2); TestVector.push_back(5); TestVector.push_back(8); TestVector.push_back(11); TestVector.push_back(14); 有没有办法只使用vector.push_back()一次,只是将多个值传入向量?

结构向量的初始化

我想知道如何使用push_back方法将值添加到结构向量中 struct subject { string name; int marks; int credits; }; vector<subject> sub; 那么现在如何添加元素呢? 我有函数初始化string名称(主题名称) void setName(string s1, string s2, …… string s6) { // how can i set name too sub[0].name= "english", sub[1].name = "math" etc sub[0].name = s1 // gives segmentation fault; so how do I use push_back method? sub.name.push_back(s1); sub.name.push_back(s2); sub.name.push_back(s3); sub.name.push_back(s4); […]

对于已经构build的对象,C ++ 11的push_back()使用std :: move和emplace_back()的效率

在C ++ 11中,对于push_back()来说, emplace_back()通常是首选的(就效率而言),因为它允许就地构造, 但是在使用push_back(std::move())构造的对象? 例如, emplace_back()在像下面这样的情况下仍然是首选的? std::string mystring("hello world"); std::vector<std::string> myvector; myvector.emplace_back(mystring); myvector.push_back(std::move(mystring)); // (of course assuming we don't care about using the value of mystring after) 另外,在上面的例子中,是否有任何好处来替代: myvector.emplace_back(std::move(mystring)); 或者这里的举动完全是多余的,还是没有效果?