括号中的C ++ std :: vector参数 - 解释?

时间:2017-11-03 19:41:37

标签: c++ vector parameter-passing std

我对c ++缺乏经验。我遇到过以下代码

std::vector<char> is_prime(sqrt + 1, 1);

更新其中sqrt是一个正整数。

我相信它正在定义一个充满字符的向量,命名向量is_prime,但我不明白这两个参数的用途是什么。

我看过std :: vector的文档,但这对我来说并不清楚。我也搜索了SO,但毫无疑问我找到了帮助。

示例:说sqrt是4,那么这将生效:

is_prime(5, 1);

这是否意味着它是一个元素为5和1的向量?大小为5的矢量和第一个元素1?

2 个答案:

答案 0 :(得分:2)

第一个参数是&#34;初始容器大小&#34;,第二个参数是&#34;用于填充容器的值。容器中的每个n元素都将初始化为该值的副本。&#34;

http://www.cplusplus.com/reference/vector/vector/vector/

答案 1 :(得分:0)

可能是vector的构造函数的第二种形式 http://www.cplusplus.com/reference/vector/vector/vector/

vector (size_type n, const value_type& val = value_type(),
             const allocator_type& alloc = allocator_type());

用sqrt + 1元素填充字符向量,全部设置为1作为字符。