【发布时间】:2018-06-06 10:14:13
【问题描述】:
在向量构造函数中传递空的迭代器范围是否有效? IE。在下面的代码中会是未定义的行为吗?
std::set<int> empty_set;
std::vector<int> target_vector(empty_set.begin(), empty_set.end());
根据cppreference的解释,这个构造函数:
使用范围 [
first,last) 的内容构造容器。
这是否意味着 first 必须是可取消引用的?
【问题讨论】:
-
很好的数学类比:[0.0; 0.0) 也是空的...