• c++创建对象


    c++的创建对象和java区别很大,java里所有的复杂类型(如 类实例)都是分配到堆中的,而c++则更灵活,所有的变量,不管什么类型,都可以自己指定分配到堆中还是栈中。

    分配到栈中的写法:

    Class object("param");//即声明又定义,调用默认构造函数 相当于Class object = Class("param");
    
    object = Class("param");//重新创建

    分配到堆中的写法:

    Class *p ;//声明
    p = &new Class();//定义

    把变量分配到栈中和堆中都有各自的好处,要看情况而定。

    分配到栈中的好处:不用自己做内存释放操作,这样不会有内存泄露的问题,这样比较省事。所有动态分配的内存都必须释放,否则会有内存泄露(如new 和delete必须成对出现)。

    分配到堆中的好处:因为分配到栈中的变量都是编译时确定变量大小的,如果数组之类的,必须确定数组长度,而把变量分配到堆中则没有这种限制,灵活性更高。

    另外,要使用一个变量,有两种方法。名字和指针(引用是const类型的指针)。上面的Class object,object就是一个名字。名字就是栈中的一个地址。Class *p,p本身也是一个名字,是一个地址,这个地址上存的是其他变量的地址,*p是一个指针,指向另一个变量。

  • 相关阅读:
    8.Nginx常用基础模块
    7.Web基础之Nginx
    6.Web基础之http协议
    5.SSH远程服务
    4.Sersync实时同步
    3.NFS 共享存储
    前端-CSS
    前端-HTTP
    MySQL-其他知识点
    MySQL-pymysql模块
  • 原文地址:https://www.cnblogs.com/wangjixianyun/p/2817943.html
Copyright © 2020-2023  润新知