C++03 和 C++11 之间的未定义行为有什么区别?
新标准与旧标准具有不同的未定义行为。例如,新的排序规则意味着一些过去未定义的算术运算(由于序列点之间的多次写入等原因)现在已定义。 那么,对…
删除指向自动变量的指针
请看一下这段代码, int i = 10; //line 1 int *p = &i; //line 2 delete p; //line 3 cout << "*p = " << *p << ", i = " << i << endl; //line 4 i …
Fortran 90 中意图(out)拼接数组的未定义行为?
当我这样做时,我遇到了非常奇怪的行为。我认为这是问题的根源,但我可能是错的。如果你们中的任何人都可以确认这确实是未定义的行为,我至少会知道发…
返回前向声明的结构是否是未定义的行为?
我有以下代码(为了简单起见,省略了 include-guards): = foo.hpp = struct FOO { int not_used_in_this_sample; int not_used_in_this_sample2; };…
读取不确定的值是未定义的行为吗?
这个问题出现在问题答案的评论中 当类型转换为 int 时,C/C++ bool 类型是否始终保证为 0 或 1? 相关代码分配一个 bool 而不初始化它们的值。 const …
C++ 到底在哪里?标准说取消引用未初始化的指针是未定义的行为?
到目前为止,我找不到如何推断以下内容: int* ptr; *ptr = 0; 是未定义的行为。 首先,5.3.1/1 规定 * 表示将 T* 转换为 T 的间接。但这并没有说明UB…
C++ 中未定义行为段落中的 [Note] 是什么意思?标准是什么意思?
作为用户 Tony 指出 C++标准第1.3.12段中有一个[注意] 允许的未定义行为的范围从完全忽略具有不可预测结果的情况,到在翻译或程序执行期间以环境特有…
const 成员和赋值运算符。如何避免未定义的行为?
我回答了有关std::vector of objects and const- Correctness,并收到有关未定义行为的评论。我不同意,因此我有一个问题。 考虑带有 const 成员的类…
C 编程#define?
可能的重复: 谁能解释一下这些未定义的行为(i = i++ + ++i , i = i++ 等...) #include #include #define SQ(x) x*x void main() { int a1 , a2; …
“覆盖”时的 Stringstream write() 问题
目前,我有一个名为 Data 的字符串流。我正在通过使用以下方式查找字符串流的开头: Data.seekp(0, std::ios::beg); 然后,我尝试将 2 个整数写入字符…