• 【C++】C++复合变量的定义及易错点


    //常量,必须初始化,之后不可作为左值
    const int ival=1;
    /*
    变量
    1.如果是全局内置类型变量,会进行默认初始化,初始化为0或者空串,false
    2.如果是局部内置类型变量,未经过初始化就使用会导致错误,编译失败
    3.如果是类类型对象,取决于默认构造函数
    */
    int ival1;
    /*
    整型指针,可以进行算术运算,移动单位取决于指针类型,解引用前需确保指针所指空间不为空
    */
    int* ival2=&ival1;
    
    /*
    整型指针的指针
    */
    int **ival22=&ival2;
    /*
    整型变量的引用,不是对象,没有内存空间,没有地址,只是别名而已,不存在引用的引用,不存在引用的指针,必须初始化,之后不可解绑
    */
    int& ival3=ival1;
    
    /*
    整型指针的引用
    */
    int* (&ival4) = ival2;
    //语法错误,因为引用不是对象,没有内存空间,没有地址,不存在引用的指针,不存在引用的引用
    int& (* ival5);
    //语法错误,因为引用不是对象,没有内存空间,没有地址,不存在引用的指针,不存在引用的引用
    int& (& ival5);
    
    /*
    顶层const,表示这个整型指针是常量,必须初始化,且不可重新赋值
    */
    int* const ival6 = &ival1;
    /*
    整型引用,这里的const没有意义,因为引用本身定义的时候就必须初始化,且一旦绑定就不可解绑
    */
    int& const ival7 = ival1;
    //底层const,表示整型常量的指针,指针可以重新赋值,但不可用指针修改整型常量
    const int* ival8;
    //底层const,表示整型常量的引用,引用任何时候都需要初始化,且不可重新赋值,这里const表示不可通过引用修改原常量
    const int& ival9=ival1;
    //整型常量的指针常量,必须初始化,既不可修改指针,也不可修改指针所指对象
    const int* const ival = &ival1;
    //整型常量的常量引用,必须初始化,不可修改引用,不可修改引用所引对象
    const int& const ival = ival1;
    return 0;
    
  • 相关阅读:
    UML用例图
    Google Map API 文档
    chrome 使用各种搜索引擎的方法 GIS
    javaScript 获得触发事件的元素 支持IE FireFox GIS
    html 的路径 GIS
    JavaScript prototype GIS
    chromium 的资源管理 的grit GIS
    [原]使用ucenter最土团购整合DX2bbs的心得
    [转]sqlserver日期函数
    最土Ajax实现/json
  • 原文地址:https://www.cnblogs.com/ericling/p/15310219.html
Copyright © 2020-2023  润新知