zoukankan      html  css  js  c++  java
  • 15.0 C++远征:常指针和常引用

    5-4常指针和常引用

    1.常指针与常引用的用法:

    2.const修饰紧跟其后的词:

    Coordinate * const pCoor = &coor1; const修饰pCoor,这种方式定义的常对象指针“只能指向coor1,但可以调用coor1的不同的函数”;(常对象指针:拥有读写权限);
    const Coordinate *pCoor = &coor1; const修饰Coordinate的对象,所指对象不能改变,只能调用coor1的“常成员函数”。(常指针:只拥有读权限)
    

    3.注意

            Coordinate coor1(3,5); 
            Coordinate &coor2 = coor1;	//定义了一个引用,引用的名字是coor2,并且用coor2指向coor1,coor1就有了coor2的别名。
            Coordinate *pCoor = &coor1;	//给对象指针赋值的时候一定要加取地址符号&,例如Coordinate *pCoor = &coor1;
            const Coordinate &coor2 = coor1;	//对象的常引用(常引用只有读权限)
            const Coordinate *pCoor = &coor1;	//对象的常指针
            coor2.getX();	//coor2只读,getX()具有读写权限
            Coordinate * const pCoor = &coor1;	//一旦指定一个对象之后,就不能再指向别的对象,只限指向的对象不能变,但是指针本身指向对象的内容是可变的,指向的对象是可以读写的(即为pCoor不能指向其它位置,它指向的位置中的内容是可以变的)
            const Coordinate *pCoor = &coor1;	//常对象,因此只能调用常成员函数
            //常引用和常指针中,const都是在最前面
    
  • 相关阅读:
    comparator接口与Comparable接口的区别
    heap和stack有什么区别
    聚集索引和非聚集索引(整理)
    SQL里的EXISTS与in、not exists与not in
    SQL中CONVERT转化函数的用法
    GCC 对C语言的扩展
    C++宏定义详解
    How to Find Processlist Thread id in gdb !!!!!GDB 使用
    Netdata----Linux 性能实时监测工具
    java开发C语言编译器
  • 原文地址:https://www.cnblogs.com/xiaoqingyang/p/6076947.html
Copyright © 2011-2022 走看看