【问题标题】:Explain std::vector<int>(tSet.begin(), tSet.end())解释 std::vector<int>(tSet.begin(), tSet.end())
【发布时间】:2014-05-12 08:02:19
【问题描述】:

在这个SO answer 中有以下行:

std::vector<int>(tSet.begin(), tSet.end()).swap(tUserNumbers);

有人可以解释.swap之前部分的语法吗?有没有可以查询的名字?

【问题讨论】:

  • 查找constructor
  • tSet的整个范围复制到向量中,然后将其内容与tUserNumbers的内容交换

标签: c++


【解决方案1】:
std::vector<int>(tSet.begin(), tSet.end())
//                          ^ iterator to begin of data range
// tSet.end() is iterator to end of data range

通过复制名为tSet的容器创建一个std::vector&lt;int&gt;类型的临时变量

有没有可以查询的名字?

this decription of vector constructors

特别是在构造函数(4)处:

template< class InputIt >
vector( InputIt first, InputIt last, 
        const Allocator& alloc = Allocator() );

有时也称为范围构造函数。

【讨论】:

  • 谢谢。正是我想要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-26
  • 2016-01-06
  • 1970-01-01
  • 1970-01-01
  • 2021-08-26
  • 1970-01-01
  • 2014-05-12
相关资源
最近更新 更多