• class A
    {
    protect:
        A(){}

    public:
        public A* Get_A
        {
            static A* aa=null
            if(aa==null)   aa=new A();         
            return aa;
        }
    }

  • 任何一个函数都不应该把自己的局部变量的指针作为它的返回值。如果想让一个函数不留任何隐患地返回一个指针,只能通过动态分配内存方法。比如下面函数错误:

    char *get_name(){
     char name[100];
     return name;
    }

    return语句后数组将不存在,name所指的地址将可能被用作其他用途,但name所指的地址依然合法。