IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c++ primer 第二章 -> 正文阅读

[C++知识库]c++ primer 第二章

第二章

变量定义

初始化与赋值

  • 初始化不是赋值,初始化的含义是创建变量时赋予一个初始值。

  • 赋值的含义是把对象的当前值擦除,以一个新值替代。

声明与定义的区别

  • 声明:规定了变量的类型和名字。
  • 定义:除声明之外,还需要申请存储空间。

如果想声明一个变量,而非定义它,需要使用extern关键词。

extern int i;    // 声明i而非定义i
int j;           // 声明并定义j

变量只能被定义一次,但可以被多次声明。

变量命名规范

  • 用户自定义类名一般以大写字母开头。
  • 多个单词用 ‘_’ 隔开。

引用

引用:为一个已经存在的对象起另外一个名字。

  1. 引用必须被初始化。

  2. 引用类型的初始值,必须是一个对象(表达式或字面值不可以被引用)。引用本身不是对象,所以不能定义引用的引用。

  3. 引用要和绑定的对象严格匹配, 但以下两种情况例外:

  • 初始化常量引用时允许用任意表达式作为初始值,只要该表达式的结果能够转换成引用的类型即可。

  • 常量引用绑定一个非常量的对象、字面值甚至是一个表达式。

    int i = 42;
    const int &r1 = i;		//允许将const int&绑定到一个普通int对象上:不能通过r1修改i的值,但可以修改i的值或者其他方式(例如修改i的一个非常量引用)来修改r1的值。
    const int &r2 = 42;		//正确,r2是一个常量引用。
    cosnt int &r3 = r1 * 2;	//正确,r3是一个常量引用。
    int &r4 = r1 * 2;		//错误,r4非常量引用。
    

指针

  • 本身就是一个对象,允许对指针赋值和拷贝,指针无须在定义的时候赋值。

  • 如果指针指向了一个对象,则允许使用解引用符(*)来访问该对象,使用(&)获取地址。

  • 指针的类型都要和它所指向的对象严格匹配。

  • 使用未经初始化的指针是引发运行时错误的一大原因。

    ? 在大多数编译器环境下,如果使用了未经初始化的指针,则该指针所占内存空间的当前内容将被看作一个地址值。访问该指针,相当于去访问一个本不存在的位置上的本不存在的对象。糟糕的是,如果指针所占内存空间中恰好有内容,而这些内容又被当作了某个地址,就很难分清它到底是合法的还是非法的了。

赋值与指针

  • 一旦定义了引用,就无法令其再绑定到另外的对象。

  • 区分一条赋值语句,到底是改变了指针的值,还是改变了指针所指对象的值的办法是记住赋值永远改变的是等号左侧的对象

理解复合类型的声明

  • 指向指针的指针

    ** 表示指向指针的指针

    *** 表示指向指针的指针的指针

  • 指向指针的引用

    引用不是对象,不能定义指向引用的指针。但指针是对象,所以存在对指针的引用。

const限定符

定义:const用于定义一个变量,它的值不能被改变。const对象必须初始化。

默认状态下,const对象仅在文件内有效。当多个文件出现了同名的const变量时,等同于在不同文件中分别定义了独立的变量。

如果想让const变量在文件间共享,则使用extern修饰。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-20 14:54:29  更:2021-08-20 14:55:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 15:06:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码