|
|
1
9
对。标准规定 不 要求,所以它可以做任何它想做的:
正如一个注释,这是一个未定义的行为,但它不一定是一个好的例子。在g++4.4.1上,它将拒绝使用以下命令进行编译:
因为post增量的结果不是左值。 |
|
|
2
3
基本上,是的,如果并且只有当这10条指令是同样可到达的。请考虑以下代码:
UB可以在编译时被检测到,并且该特定分支的代码生成可能导致无意义的代码。但是,不具备条件的跳转必须跳过所有这些并直接跳过结束语
(这个问题不是重复的,因为前面没有讨论运行时UB的编译时检测) |
|
|
3
2
一个特定的编译器(除非有错误)在遇到这样的结构时总是有相同的行为(绝对没有随机代码)(除非代码的上下文不同)。 实际上,“未定义的行为”意味着“不同的编译器处理事情的方式不同”。 如果你想知道“你的虚拟编译器仍然符合C++标准吗?”-我想答案是肯定的。 |
|
|
4
0
从标准草案/ http://www.kuzbass.ru:8086/docs/isocpp/intro.html /[1.3.12]
当然没有列出插入随机指令,而且很难说“ranges from”方面将包括插入随机指令的决定,因为随机指令位于列出的行为之间的连续统中的任何位置。;-) |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |