当你引用cppreference时,你会发现:
返回容器的最后一个元素后面的元素的迭代器.该元素充当占位符; 尝试访问它会导致未定义的行为.
然后我运行以下代码:
std::set<int> s {1, 2, 3};
cout << *s.end() << endl;
Run Code Online (Sandbox Code Playgroud)
输出是:3,为什么?
什么将从cd :: set.end()完全在c ++中返回?
它返回:
容器的最后一个元素后面的元素的迭代器.
注意:
该元素充当占位符; 尝试访问它会导致未定义的行为.
输出是:3,为什么?
因为:
尝试访问它会导致未定义的行为.
所以它可以做你的编译器做的任何事情,返回3是一种任何东西,你的编译器显然感觉就像在做.
| 归档时间: |
|
| 查看次数: |
594 次 |
| 最近记录: |