当前位置: 首页 > 知识库问答 >
问题:

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

袁法
2023-03-14

下面是一个示例代码。我想要得到以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个答案

夹谷俊远
2023-03-14

获取任何变量的地址:

int i;
int * ptr = &i;

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

double * dPtr = &Box1.volume;

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

 类似资料:
  • 本文向大家介绍python中查看变量内存地址的方法,包括了python中查看变量内存地址的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python中查看变量内存地址的方法。分享给大家供大家参考。具体实现方法如下: 这里可以使用id 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 本地类的Java文档说: 此外,局部类可以访问局部变量。但是,局部类只能访问声明为final的局部变量。当局部类访问封闭块的局部变量或参数时,它将捕获该变量或参数。例如,PhoneNumber构造函数可以访问局部变量numberLength,因为它被声明为final。numberLength是捕获的变量。 捕获的变量是什么,其用途是什么,为什么需要它?请帮助我理解它的概念。 问题答案:

  • 问题内容: 我是新手,我想在其中打印struct变量的地址,这是我的程序 这个的输出 但是我想打印r变量的地址,因为我知道’&’代表地址,’*’指向指针位置的值,但是在这里我无法打印r的地址,我正在使用go-的在线编辑器lang https://play.golang.org/ 同样,我想将此地址存储在某个变量中。 问题答案: 当您使用来打印值时,将使用默认格式。引用以下文件的doc : %v的默

  • 我想从传递的几个值动态调用几个“setter”方法。每个方法都将具有字符串,int...要设置的变量类型(例如:setUserName(String userName)或setUserAge(int age))。 在我的例子中,我有一个setter方法“setUse_status(int use_stats)”,我无法配置getDeclaredMethod方法工作。似乎在获取方法时,classVa

  • 问题内容: 我需要在其他班上变数。我怎样才能做到这一点? 所以我尝试在Textcl.class中使用,但是得到了。 问题答案: 您将得到空值,因为inString从未按Robert Kilar在注释中正确指出的那样进行初始化。 您可以通过使用类名来引用静态变量。 示例ClassName.variablename。就你而言 运行您的主类。当您运行inString时,将在该类的构造函数中对其进行初始化

  • 本文向大家介绍Java中final作用于变量、参数、方法及类该如何处理,包括了Java中final作用于变量、参数、方法及类该如何处理的使用技巧和注意事项,需要的朋友参考一下 Java中方法用final修饰参数的作用 在方法参数前面加final关键字就是为了防止数据在方法体重被修改。 主要分为两种情况:第一,用final修饰基本数据类型;第二,用final修饰引用数据类型。 第一种情况,修饰基本数