美文网首页
13-析构函数

13-析构函数

作者: _东阁堂主_ | 来源:发表于2019-02-16 20:27 被阅读1次

    写在前面

    有构造函数,就有析构函数
    

    名词解释

    析构函数,对象销毁(内存被回收)的时候调用 eg:~Person() 就是在构造函数上加个“~”,就变成了析构函数。
    

    说来惭愧

    原来Xcode直接可以创建C++ 的命名行工具,不用更改文件的后缀名
    

    码上建功

    class Person {
    public:
        // 对象创建完毕的时候调用
        Person() {
            cout << "初始化--Person()" << endl;
        }
        // 对象销毁(内存被回收)的时候调用
        ~Person() {
            cout << "析构~~Person()" << endl;
        }
    };
    
    int main() {
        Person person;
        getchar();
        return 0;
    }
    说下这个函数getchar(),用于接收键盘的输入,当点击enter键时,键盘输入结束,程序继续执行,
    当运行完程序时,log打印为
    初始化--Person()
    点击enter键,程序运行结束
    log打印结果:
    初始化--Person()
    
    析构~~Person()
    Program ended with exit code: 0
    
    

    装逼一下

    int main() {
        Person *p = new Person();
        delete p;
        getchar();
        return 0;
    }
    用new初始化,调用构造函数,调用delete,调用析构函数
    初始化--Person()
    析构~~Person()
    
     Person *p = (Person *) malloc(sizeof(Person));
        free(p);
    调用以上方法不会调用构造函数和析构函数,全部由系统方法搞定    
    

    完整代码demo,请移步GitHub:DDGLearningCpp

    当然C++大神就绕吧,非喜勿喷,毕竟这是个人的学习笔记📒

    相关文章

      网友评论

          本文标题:13-析构函数

          本文链接:https://www.haomeiwen.com/subject/zpbieqtx.html