完全从c 中从std :: set.end()返回的内容
What will be returned from std::set.end() exactly in c++?
当您提到cppReference时,您会发现:
将迭代器返回到元素之后的元素 容器。这个元素是占位符;试图访问它 导致不确定的行为。
然后我运行以下代码:
std::set<int> s {1, 2, 3};
cout << *s.end() << endl;
排名是: 3 ,为什么?
完全从c ?
中从std :: set.end()返回什么
它返回:
迭代器遵循容器的最后一个元素。
请注意:
这个元素是占位符;尝试访问它的结果导致不确定的行为。
&nbsp;
排名是:3,为什么?
因为:
试图访问它的结果导致不确定的行为。
这样,它可以做您的编译器的任何事情,而返回3是一种任何东西,您的编译器显然感觉就像是这样。
相关文章:
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- 什么时候在C++中返回常量引用是个好主意
- std::map<struct,struct>::find 找不到匹配项,但是如果我循环通过 begin() 到 end(),我在那里看到匹配项
- 如何使用 SFINAE 从 end() 方法返回 (const_) 迭代器
- 为什么空 unordered_map.find 不返回 end()?
- std::list.end() 不返回"past-the-end"迭代器
- 完全从c 中从std :: set.end()返回的内容
- 迭代器:如果 '*' 返回元素的引用,为什么删除 *(myList.end()) 会给出 SegFault
- 从end()函数返回的迭代器中获取BST的最后一个节点
- 集合数据结构中的 end() 迭代器应该返回什么
- 容器中的 begin() 和 end() 方法应始终具有相同的返回类型
- 我可以专门使用 std::begin 和 std::end 来获取 equal_range() 的返回值吗?
- 使用 std::vector 作为 std::map 的键在未找到和使用 reserve() 时不会返回 end()
- std::find返回vec.end(),而不管值是否在vector中
- 为我的向量包装器和迭代器返回'begin'和'end'函数返回什么?
- Qt容器(QVector,QList)::end()返回一个无法引用的迭代器
- 为什么stl_tree.h中的end()返回对迭代器对象的引用,而begin()返回object ?
- 对于哪个标准容器(如果有的话),end()返回的迭代器是持久化的
- 多个返回语句或"goto end;"
- 如果未找到映射条目,则返回特定的映射条目而不是 map::end