导航

2021年1月28日

摘要: 如前所述,指针本身是一个对象,它又可以指向另一个对象。因此,指针本身是不是常量以及指针所指的是不是一个常量就是两个相互独立的问题。用名词顶层const(top-level const)表示指针本身是个常量,而用名词底层const表示指针所指的对象是一个常量。 更一般的,顶层const 可以表示任意的 阅读全文

posted @ 2021-01-28 16:45 抑或 阅读(245) 评论(1) 推荐(0) 编辑

摘要: 与引用一样,也可以令指针指向常量或非常量。类似于常量引用,指向常量的指针不能用于改变其所指对象的值。要想存放常量对象的地址,只能使用指向常量的指针: 之前提到,指针的类型必须与其所指对象的类型一致,但是有两个例外。第一种情况是允许令一个指向常量的指针指向一个非常量的对象: 和常量引用一样,指向常量的 阅读全文

posted @ 2021-01-28 09:37 抑或 阅读(54) 评论(0) 推荐(0) 编辑

2021年1月27日

摘要: 可以把引用绑定到const对象上,就像绑定到其他对象一样,我们称之为对常量的引用。与普通引用不同的是,对常量的引用不能被用作修改他所绑定的对象: const int ci=1024; const int &r1=ci;//正确;引用及其对应的对象都是常量; r1=42;//错误,r1是对常量的引用 阅读全文

posted @ 2021-01-27 19:39 抑或 阅读(779) 评论(0) 推荐(0) 编辑

摘要: 有时我们会定义这样一种变量,它的值不能被改变。例如用一个变量来表示缓冲区的大小,使用变量的好处是很容易对其进行调整,但为了防止程序可能改变这个值,可以用const对变量的类型加以限定: const int bufSize =512;//输入缓冲区大小 这样就把bufSize定义成了一个常量。任何试图 阅读全文

posted @ 2021-01-27 18:21 抑或 阅读(106) 评论(0) 推荐(0) 编辑

摘要: 变量的定义包括一个基本数据类型和一组声明符。在同一条定义语句中,虽然基本数据类型只有一个,但是声明符的形式却可以不同。也就是说,一条定义语句可能定义不同类型的变量: int i=1024, *p=&i, &r=i;//i是一个int型的数,p是一个int型指针,r是一个int型引用 定义多个变量 经 阅读全文

posted @ 2021-01-27 16:51 抑或 阅读(136) 评论(0) 推荐(0) 编辑

摘要: 指针(pointer)是指向另外一种类型的复合类型。与引用类似,指针也实现了对其他对象的间接访问。然而指针与引用相比又有很多不同点。其一,指针本身就是一个对象,允许对指针赋值和拷贝,而且在指针的生命周期内它可以先后指向几个不同的对象。其二,指针无须在定义时赋值。和其他内置类型一样,做块作用域内定义的 阅读全文

posted @ 2021-01-27 12:03 抑或 阅读(161) 评论(0) 推荐(0) 编辑

2021年1月26日

摘要: 引用(reference):为对象起了另外一个名字,引用类型引用(refers to)另外一种类型。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。,一般的引用为左值引用,c++11中新增右值引用。 int ival=1024; int &refVal= ival;//refVal指 阅读全文

posted @ 2021-01-26 18:42 抑或 阅读(114) 评论(0) 推荐(0) 编辑

摘要: 不论程序的什么的位置,使用到的每个名字都会指向一个特定的实体:变量、函数、类型等。然而,同一个名字如果出现在程序的不同位置,也可能指向的是不同实体。 作用域(scope):是程序的一部分,在其中名字有其特定的含义。c++语言中大多数作用域都以花括号{}分搁。同一个名字在不同的作用域中可能指向不同的实 阅读全文

posted @ 2021-01-26 17:26 抑或 阅读(134) 评论(0) 推荐(0) 编辑

摘要: c++的标识符由字母、数字和下画线组成,其中必须以字母或下画线开头。标识符的长度没有限制,但是对大小写字母敏感。 下表,c++保留了一些名字供语言本身使用,这些名字不能被用作标识符。 c++关键字 alignas continue friend register true alignof declt 阅读全文

posted @ 2021-01-26 11:35 抑或 阅读(1422) 评论(0) 推荐(0) 编辑

摘要: 为了允许把程序拆分成多个逻辑部分来编写,c++语言支持分离式编译(separate compilation)机制,即将程序分割为若干个文件,每个文件可被独立编译。 为了支持分离式编译,c++语言将声明与定义区分开来。声明使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含对那个名字的声明。 阅读全文

posted @ 2021-01-26 10:45 抑或 阅读(83) 评论(0) 推荐(0) 编辑

1