C++(基础查漏补缺(1))—>指针

之前的C/C++基础一直很弱,所以打算再跟着再仔细学一遍C++

之前学C的时候当定义一个指针基本上都是直接指向了一个有效对象

int j = 5;
int* i;
i = &j;

最近在学c++的类的时候发现当创建了一个类以后还要再new一个类空间才能使用

但是为啥我 int* i 就不用在定义后 i = new int 呢?

class Jolly
{
public:
    int score = 100;
};

int main()
{

    Jolly* Test;
    Test = new Jolly;    

    cout << Jolly.score << endl;

    return 0;
}

看了几篇资料后知道当声明Jolly* Test;时,只是声明了一个指向Jolly类型对象的指针,但此时这个指针并没有指向任何有效的Jolly对象。

类是一种用户定义的类型,类对象通常包含数据成员和成员函数,这些成员需要在对象被正确构造后才能被访问。通过Test = new Jolly,使用new操作符动态分配了一个Jolly类的对象,并将该对象的地址赋给Test。只有这样,Test才指向一个有效的Jolly类对象,才能通过Test来访问Jolly类的成员

而其实在使用int* i的时候也是一样的道理,如果不使用写 i = new int 也是不能直接用的

这个是错误的!!!

    int* K;
    int L;
    *K = 5;
    L = *K;

    cout << L << endl;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值