在C ++中如何在类方法之间访问静态局部变量的值

时间:2016-04-17 14:24:23

标签: c++

如何在C ++语言中达到以下目标。 我的目标是在构造函数(或同一类的另一个方法)中定义一个输入源(一个结构),并在另一个方法中进行处理。 对于Eg:

#include "iostream"
class A
{ 
  public: 
      struct source{     //input source
        char* input;
        unsigned int result;
      };

      A(); //constructor
      ~A(); //destructor
      void process();
};

A::A()
{
  //static local input source
  static const source inp[2] = { {"input1", 2}, {"input2", 3} };
}

void A::process()
{
//The value of static structure "inp" initialized in constructor is to be 
//  read here. 
// Say I want to print the "result"
  std::cout << "input1 result" << inp[0].result; //should print 2
  std::cout << "input2 result" << inp[1].result; //should print 3
}

任何达到上述目标的替代方法都是最受欢迎的。 在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

似乎最好的方法是使静态常量变量成为类的公共成员,然后正常访问它。有关详细信息,请参阅此帖子:

C++ where to initialize static const