c++ - 如何在 C++ 中的 vector 中插入多个值?

标签 c++

我想知道有什么方法可以在不使用临时变量的情况下将多个值作为单个值插入 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/

相关文章:

c++ - 如何编写 const 传播指针类型包装器?

c++ - 检查变量是否已初始化

c++ - 适当的析构函数/RAII/某事

c++ - 这个 C++ 结构初始化技巧安全吗?

c++ - 从二维数组中获取一维数组索引

c++ - 使用不等于与等于时是否有任何性能差异

c++ - C/C++ 中的安全字符串复制

c++ - 有条件的 “#pragma omp critical {"

c++ - 具有同名抽象和定义继承函数的多重继承

c++ - STL迭代器和数组的关系