C++ ->成员变量如何实现?
如果我在一个成员函数中,打个招呼,我调用这个->成员变量 这是如何实现的?这是不是得到这个指针的地址,然后以某种方式偏移到membervariable,然后取消引用?我很想了解这方面的机制 Blair这是指向成员函数所属类的当前实例的指针。它隐式地传递给每个成员函数,静态函数调用除外 此->memberVariable与任何其他指针取消引用类似,只是*this.memberVariable的快捷方式。这是指向成员函数所属类的当前实例的指针。它隐式地传递给每个成员函数,静态函数调用除外C++ ->成员变量如何实现?,c++,C++,如果我在一个成员函数中,打个招呼,我调用这个->成员变量 这是如何实现的?这是不是得到这个指针的地址,然后以某种方式偏移到membervariable,然后取消引用?我很想了解这方面的机制 Blair这是指向成员函数所属类的当前实例的指针。它隐式地传递给每个成员函数,静态函数调用除外 此->memberVariable与任何其他指针取消引用类似,只是*this.memberVariable的快捷方式。这是指向成员函数所属类的当前实例的指针。它隐式地传递给每个成员函数,静态函数调用除外 此->me
此->memberVariable与任何其他指针解引用类似,只是*this.memberVariable的快捷方式。对于每个成员函数,“this”是隐式传递的参数。。。因为成员函数是共享的,所以这是区分调用函数的对象的方法…记住,非虚拟函数在编译时链接到每个成员函数。“这”是隐式传递的参数。。。因为成员函数是共享的,所以这是区分调用函数的对象的方法…记住非虚拟函数在编译时链接这只是成员函数的一个隐藏参数。就像你说的,它的工作原理和其他指针一样。您应该查看编译器生成的汇编代码,它是权威资源。它的可能副本只是成员函数的一个隐藏参数。就像你说的,它的工作原理和其他指针一样。您应该查看编译器生成的汇编代码,它是权威资源。可能与。。。这个->memberVariable是memberVariable的一个长切口。但是代码可读性好,代码可读性差。暗示不存在的语义。更好的代码可读性是一个合理的命名方案,其中成员的标识符与参数不同。@Collin:我想我们不再使用Python了,Toto。我必须同意@JohnDibling的观点-在一些情况下,这个->可以提供有意义的消歧,但大多数时候,它只是无用的噪音。@Collin:编译器不在乎——但编译器应该是次要目标;您的主要目标应该是其他程序员。如果要编写Python,请编写Python。如果你正在写C++,写C++。不要试图在C++中编写Python,因为编译器并没有阻止你。这个->memberVariable是memberVariable的一个长切口。但是代码可读性好,代码可读性差。暗示不存在的语义。更好的代码可读性是一个合理的命名方案,其中成员的标识符与参数不同。@Collin:我想我们不再使用Python了,Toto。我必须同意@JohnDibling的观点-在一些情况下,这个->可以提供有意义的消歧,但大多数时候,它只是无用的噪音。@Collin:编译器不在乎——但编译器应该是次要目标;您的主要目标应该是其他程序员。如果要编写Python,请编写Python。如果你正在写C++,写C++。不要试图在C++中编写Python,因为编译器并没有阻止你。