静态函数,instance

来源:互联网 发布:顶级域名绑定二级域名 编辑:程序博客网 时间:2024/05/22 06:29
#include <iostream>using namespace std;class Config{public:   void set_a(int _a)   {a = _a;}   void set_b(int _b)   {b = _b;}   int get_a()   {   return a;   }   int get_b()   {   return b;   }   static Config* instance(){   static Config* config =  new Config();//此处将返回指针声明为,那么调用Config::instance()只会在第一次调用时new一次,后面直接返回指向那区域                                         //  的指针静态变量是类的所有实例共享的(所以只有一个?) 如果返回的是Config× 那么这个函数是静态的,但是                                         //  返回的指针不是静态的,所以每次调用都NEW了                                         //   一下。   return config;   }private:   int a,b;};int main(){Config::instance()->set_a(3);Config::instance()->set_b(4);int a = Config::instance()->get_a();int b = Config::instance()->get_b();cout <<a <<endl<<b<<endl;           //返回的是static Config* 输出则为3,4.         }

0 0