zoukankan      html  css  js  c++  java
  • c++ 类的对象与指针

    这里首先我们需区分一下指针数组和数组指针。

    指针数组:int *p[4];它最终是个数组,只是这个数组存储的是4个指向int类型的指针。

    数组指针:int (*P)[4];它最终是个指针,表示一个指向一个int类型数组的指针。

    下面来看一下具体代码:

    #include <iostream>
    using namespace std;
    class T
    {
    public:
        T(){cout<<"调用一次默认构造函数"<<endl;}
    };
    
    int main()
    {
        T (*p)[3];
        T *q[3];
        //T a[2];
        //T *pp;
        return 0;
    }

    代码输出结果:

    image

    为什么?

    为什么他们没有调用类的构造函数呢????

    因为,T (*p)[3];是一个指针,没有实例化的指针是不会调用构造函数的。,怎么实例化,很简单啊,你可以T *pp=new T;,酱紫它就会调用构造函数了。

    同样,T *q[3];虽然是一个数组,但是数组里的元素全是指针,他们也没有经过实例化,那么也就不会调用构造函数了。

  • 相关阅读:
    spring guides
    Go 汇编入门
    go内存管理
    websocket
    Scheduling In Go
    log-structured-merge-trees
    InfluxDB 内部机制解析
    thread-states
    MySQL高可用方案
    Amazon Aurora解读
  • 原文地址:https://www.cnblogs.com/audi-car/p/4818392.html
Copyright © 2011-2022 走看看