假设我们有一个成员函数,class X
它X f()
返回一个对象class X
并且不接受任何参数。
所以如果它被 的一个对象调用class X
,sayX obj
就是这个对象。
因此,如果我们调用obj.f()
,则根据 C++ 规则,一个秘密参数将传递给函数f()
,它是this
对象的指针,其中包含调用对象的地址f()
。
所以我的困惑是它是如何由 C++ 管理的,因为这意味着我们在 C++ 中永远不可能有一个没有参数的成员函数,因为每次都会传递一个秘密参数。
对于带有参数 say 的函数func(int a)
,它实际上是一个可以接受 2 个参数的函数,其中一个参数是秘密参数(this
指针),另一个是int a
.
那么,如果我们严格要求 C++ 中的成员函数完全没有参数(如中断服务例程的情况),我们该怎么办?
如果我错了或者我错过了一些概念,请告诉我。