• C++ primer第五版随笔--2015年1月6日


    记录自己看这本书时的一些内容。

    一、引用(reference)

    引用为对象起了另外一个名字。例如:

    int ival=1024;

    int &relVal1=ival;//对,注意尽量不要用这方式:int& relval=ival;

    int &relVal2;//报错,引用必须被初始化

          在定义引用时,程序把引用和它的初始值绑定(binding)在一起,而不是将初始值拷贝给引用。一旦初始化完成,引用将和它的初始值对象始终绑定在一起。因为无法令引用重新绑定到另外一个对象,因此引用必须初始化。

    注意以下定义方式:

    int i=0;

    int &relVal=i, r=i;////relval是引用,r不是

    int &relVal=i, &r=i;//relval和r都是引用

    二、指针(pointer)

    今天看的指针类型主要是指针的简单定义以及使用,不涉及很难的应用,后续补充。

    三、引用和指针混用

    int i=3;

    int &r=i;

    int *p=&i;

    int *&r1=p;//r1是一个队指针p的引用

    因为引用不是一个对象,因此不能定义指向引用的指针。

    四、const关键字和reference、pointer连用

    1、

    const int i=23;

    const int &ref=i;//正确

    ref=32;//错误

    int &r1=i;//错误。试图让一个非const引用指向一个const对象会报错

    2、

    int i=234;

    const int &ref=i;//正确,允许这样

    const int &r2=24;//正确,允许这样

    const int &r3=ref*2;//正确,允许这样

    int &r4=ref*2;//错误,

    3、const和pointer(常量指针和指针常量

  • 相关阅读:
    1009 说反话 (20 分)
    1007 素数对猜想 (20 分)
    Visual Studio2017下载方法
    百词斩和扇贝打卡测试与评估
    创建者模式->工厂模式
    STM32F427|----------IO讲解与应用
    MySQL的索引
    STM32F103RCt6 与 MG996R
    2020物联网实验室的考核题目
    初学数据库-MySQL&IDEA&Navicat
  • 原文地址:https://www.cnblogs.com/LCCRNblog/p/4205775.html
Copyright © 2020-2023  润新知