我想知道有什么方法可以在不使用临时变量的情况下将多个值作为单个值插入 vector 中?
我的意思是例如:
struct Something{
int x;
int y;
};
int main()
{
vector <Something> v;
int x, y;
cin >> x >> y;
v.push_back(x, y);
}
有什么方法可以避免这样做(定义另一个变量,然后插入它,而不是直接插入 x, y
):
Something temp;
temp.x = x;
temp.y = y;
v.push_back(temp);
最佳答案
给你的类一个构造函数,像这样:
Something(int x_, int y_) :x(x_), y(y_) {}
那么你可以这样做:
v.push_back(Something(x,y));
在 C++11 中,您可以在没有构造函数的情况下执行此操作:
v.push_back({x,y});
关于c++ - 如何在 C++ 中的 vector 中插入多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9741194/