提问者:小点点

如何获得类中变量的地址,以及该类中方法中变量的地址?


下面是一个示例代码。我想要得到以Volume()为单位的int K的地址和长度。我怎么能那样做?

   #include <iostream> 
using namespace std;

class Box {
   public:
     
      Box(double l = 2.0) {
         length = l;
      }
      double Volume() {
         cout<<"Done"<<endl;
         int k=300;
      }
      
   public:
      double length;    
};
      

int main() {
   Box Box1(5);    
   Box *ptrBox;                 
   ptrBox = &Box1;
   cout << "Volume of Box1: " << ptrBox->Volume() << endl;

  
   return 0;
}

如何获得类中变量的地址,以及该类中方法中变量的地址?


共1个答案

匿名用户

获取任何变量的地址:

int i;
int * ptr = &i;

你已经做过了。嗯,你还可以做:

double * dPtr = &Box1.volume;

没什么不同。然而,这是一个非常糟糕的主意。您也成功地获得了方法中一个变量的地址,但是要知道局部变量将会消失,在方法结束后使用它是一个非常非常糟糕的主意。