C++ 是否'*(&;x)和#x27;比'做更多的工作;x';
在我的代码中写入此C++ 是否'*(&;x)和#x27;比'做更多的工作;x';,c++,C++,在我的代码中写入此*(&x)与x有什么不同吗?或者编译器使它们成为相同的东西吗?GCC至少似乎为*(&x)和x生成了相同的指令,只要假设x是什么类型,都不会重载&和*操作符。GCC至少似乎为这两个生成了相同的指令*(&x)和x假设x的任何类型都不会使&和*运算符过载。这当然对可读性没有帮助 只要没有运算符重载,几乎可以肯定编译器会为这两个对象生成相同的代码。编译到汇编(-s在gcc中),自己查看。这当然对可读性没有帮助 只要没有运算符重载,几乎可以肯定编译器会为这两个编译器生成相同的代码。编译到
*(&x)
与x
有什么不同吗?或者编译器使它们成为相同的东西吗?GCC至少似乎为*(&x)
和x生成了相同的指令,只要假设x
是什么类型,都不会重载&
和*
操作符。GCC至少似乎为这两个生成了相同的指令*(&x)
和x
假设x
的任何类型都不会使&
和*
运算符过载。这当然对可读性没有帮助
只要没有运算符重载,几乎可以肯定编译器会为这两个对象生成相同的代码。编译到汇编(-s
在gcc
中),自己查看。这当然对可读性没有帮助
只要没有运算符重载,几乎可以肯定编译器会为这两个编译器生成相同的代码。编译到汇编(-s
在gcc
中),自己看看
在我的代码中写这个*(&x)与写x有什么不同吗
如果*
或/和&
是重载运算符,则它们可能意味着不同的事情,否则*(&x)
和x
意味着相同的事情,在这种情况下,它会降低可读性,因此您不想编写它。请参阅类似主题:
希望有帮助
在我的代码中写这个*(&x)与写x有什么不同吗
如果*
或/和&
是重载运算符,则它们可能意味着不同的事情,否则*(&x)
和x
意味着相同的事情,在这种情况下,它会降低可读性,因此您不想编写它。请参阅类似主题:
希望有帮助。如何检查编译器生成的指令?您可以使用GCC的-S
标志,也有一些网站可以这样做,比如如何检查编译器生成的指令?您可以使用GCC的-S
标志,也有一些网站可以这样做什么是<代码> x <代码>?不知道你的问题没有任何意义。@ DDRMMR <代码> X <代码>只是一个变量……C中的我们有以下的标准,据我所知,我们在C++中不等价词。什么是<代码> x < /代码>?不知道你的问题没有任何意义。@ DDRMMR <代码> X/COD>只是一个在C中,我们在标准中有以下的措辞,据我所知,我们在C++中没有等价的措辞。