C++学习方法之追本溯源

好的学习方法,不但能提高学习的效率,同时也会为你节省大量的宝贵时间去做自己想做的事情。

今天在这里给大家分享下个人的学习感悟。

追本溯源:顾名思义就   追究根本,探索源头。

任何知识只要抓住事情的源头,一切都变得南无"举重若轻"了。

简单的通过例子向大家展示。

1) 关于拷贝构造函数的调用问题

      拷贝构造函数在以下三种情况下会被调用

      1、用已有对象为新对象初始化

      2、如果一个函数的形参为某类对象时,当给函数被调用时,拷贝构造函数会被调用

      3、函数的返回值为某类对象时,会被调用

 那么我们先来分析下,拷贝构造函数的定义:

拷贝构造函数是,在建立一个新对象是,使用一个已经存在的对象去初始化这个新对象。

简单的说就是:用已有对象为新对象赋初值。

         那么 情况1 就很容易被我们接受了,就是拷贝构造函数的定义

         情况2,在函数调用时,需要一个已有的类对象作为实参,为形参赋值,

        这里形参为新对象,而实参为已有的对象,用已有的对象为新对象赋初值,符合要求,

        拷贝构造函数被调用

        情况3,函数返回值为类对象时,该返回值为已有对象,将此对象复制给一个临时的新对象

        并传到该函数的调用处。也符合拷贝构造函数要求。在该情况中,通过创建这个临时对象,并为其

        赋初值,这里调用拷贝构造函数,随后可能调用拷贝构造函数,也可能调用赋值运算符重载函数,读者自己考虑下。

        

 

2)const 常数据类型

     const char *P=“abc”;

     char * const P="abc";

    const 表示的是常数据类型,那么const char 表示的就是常字符串,该字符串不允许被修改

    而 char * const P,表示的常指针,表示该指针指向特定的内存空间,指向的内容可以修改

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值