1
18
理论上,它们可以以不同的方式实现。 在实践中,我见过的每个编译器都编译指向同一机器代码的指针和引用。区别完全在语言层面上。 但是,就像凯迪金斯说的,你不应该 依赖 在验证编译器和平台的正确性之前。 |
2
10
C++代码与编译器生成的机器代码之间的关系绝对没有什么可信赖的。 有人说“以我的经验…但这比你可能意识到的更不可靠。很少有人在所有可能的编译器/体系结构组合的任何实质性方面有实际经验。[编辑:我认为 Crashworks 但证明我错了。-()) 考虑以下内容 list of C++ compilers :
现在用下面的数字乘以这个列表 short list of machine architectures :
现在乘以操作系统和优化标志,您可能会发现每个人的经验都非常缺乏。 |
3
1
指针和引用在C++中有不同的语义,但是生成的代码是相同的。 |
4
0
只是为了进一步说明,虽然几乎所有编译器的引用都与引擎盖下的指针相同,但依赖于这种行为是一个严重的错误。它不仅可能在你最不期待的时候咬到你的屁股,而且也不正确地使用参考资料。如果你需要一个指针,就用一个指针。 |
Ilya Loskutov · 无法将单词加载到寄存器中 2 年前 |
Ari157 · x86_64 Linux程序集中的逻辑与实现 2 年前 |
Arya · 汇编语言中的“标签”——操作码 2 年前 |
S1mple · 通过gcc生成64位共享库时的“未定义的主引用” 2 年前 |
R0M2 · 为什么“GCC”忽略汇编代码的-fno pic 2 年前 |
Akagi Akira · 如何在gnu汇编程序中组装MIPS cpu 2 年前 |