创建一对实例

时间:2015-03-15 00:42:20

标签: c++

这可以用于创建特定大小的2d向量的实例:

#define rows 5
#define columns 7

std::vector<std::vector<int>> v2d(rows, std::vector<int>(columns));

创建包含size_t和要使用初始大小创建的向量的对的实例的等价物是什么?

std::pair<size_t, std::vector<int>> psv(...(columns)...);

感谢您的帮助,对于这些语言的矢量,这种语法似乎有效。

std::vector<std::pair<size_t, std::vector<int>>>vpiv(rows,
    std::pair<size_t, std::vector<int>>(0, std::vector<int>(columns)));

2 个答案:

答案 0 :(得分:1)

std::pair<size_t, std::vector<int>> psv(my_size_t, std::vector<int>(my_vec_size));

或者(在C ++ 11之前std::make_pair可以制作一些额外的副本)。

auto psv = std::make_pair(static_cast<size_t>(my_size_t), std::vector<int>(my_vec_size));

演员表是为了确保第一种类型绝对是size_t。如果my_size_t已经是size_t类型,则可以省略它。

答案 1 :(得分:0)

使用std::make_pair

std::make_pair(some_size, some_vector)