类与其动态内存分配

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了类与其动态内存分配相关的知识,希望对你有一定的参考价值。

1.     类中的静态非常数数据( static , no const)需要在类外进行赋值,结构为
                int class::varname = values ;

2.    类有五种特殊的函数类型:
            (1)       默认的构造函数
            (2)       默认的析构函数
            (3)       默认的复制构造函数
            (4)       赋值运算函数
            (5)       地址运算函数

            (1):       默认的构造函数是一个没有参数,没有数据操作的函数
            (2):       默认的复制构造函数是一个浅复制的函数,逐一复制非静态成员
            (3):       默认的析构函数是一个没有任何操作的函数
            (4):       默认的赋值运算函数是一个对运算符=的重载

            在进行 类与类之间的复制时会引发复制构造函数,同时在赋值时也会引发
            赋值运算函数。在编写类时需要注意这两个函数的重载操作,以免造成失误
            失误的详见:    c++   primer    plus  第426页
3.   关于返回对象一般有三种:
                (1)        返回const对象的引用 
                (2)        返回非const对象的引用
                (3)        返回const对象,通常用于返回一个临时的类数据。
        ps:   需要注意new和delete的格式需要是相同的
4.   关于成员列表的初始化:
         在类中若定义了一个const类型而非static的变量,那么这个变量的初始化需要依赖
         构造函数后的初i始化列表。
         (1)      这个列表只可用于构造函数
         (2)      必须用这种初始化列表初始化非静态的const函数
         (3)      使用时初始化列表的顺序必须与在类中定义的顺序相同
         例如:       
            CLASS::CLASS(paramlist):   var1(value1) , var2(value2) , var3(value3)
            {
                                                     initial statements ;
            }

以上是关于类与其动态内存分配的主要内容,如果未能解决你的问题,请参考以下文章

C++ 单例类实例的堆/动态与静态内存分配

C存储类链接和内存管理--动态分配内存及类型限定词

每日一练5

C - 读取文件并将文本放入具有动态内存分配的字符指针

类和动态内存分配

STL容器自定义内存分配器