Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在c+;中,std::set.end()将返回什么+;?_C++_Stl - Fatal编程技术网

C++ 在c+;中,std::set.end()将返回什么+;?

C++ 在c+;中,std::set.end()将返回什么+;?,c++,stl,C++,Stl,当您参考时,您会发现: 将迭代器返回到 容器。该元素充当占位符;正在尝试访问它 导致未定义的行为 然后运行以下代码: std::set<int> s {1, 2, 3}; cout << *s.end() << endl; std::set s{1,2,3}; 库特 将从STD::SETION()中返回什么?完全在C++中? 它返回: 容器最后一个元素后面的元素的迭代器 请注意: 该元素充当占位符;试图访问它会导致未定义的行为 答案是:3,为什么 因为:

当您参考时,您会发现:

将迭代器返回到 容器。该元素充当占位符;正在尝试访问它 导致未定义的行为

然后运行以下代码:

std::set<int> s {1, 2, 3};
cout << *s.end() << endl;
std::set s{1,2,3};
库特
<>将从STD::SETION()中返回什么?完全在C++中?

它返回:

容器最后一个元素后面的元素的迭代器

请注意:

该元素充当占位符;试图访问它会导致未定义的行为

答案是:3,为什么

因为:

试图访问它会导致未定义的行为

所以它可以做你的编译器想做的任何事情,返回3是一种你的编译器显然想做的任何事情

<>将从STD::SETION()中返回什么?完全在C++中?

它返回:

容器最后一个元素后面的元素的迭代器

请注意:

该元素充当占位符;试图访问它会导致未定义的行为

答案是:3,为什么

因为:

试图访问它会导致未定义的行为


因此,它可以做编译器想做的任何事情,返回3是一种编译器显然想做的任何事情。

未定义的行为意味着任何事情都可能发生。包括三个。看起来“有效”的未定义行为是最阴险的一种。使用visualc++我得到以下错误:“映射/设置迭代器不可取消引用”:)我得到了,谢谢……未定义的行为意味着任何事情都可能发生。包括三个。看起来“有效”的未定义行为是最阴险的一种。使用visualc++我得到以下错误:“映射/设置迭代器不可解引用”:)我得到了,谢谢…@cong我的意思是,你确实已经拥有了大部分信息…@cong我的意思是,你已经掌握了大部分的信息。。。