C++此基础进阶
1.C++贝唐
1.1 第二个C++流程
#include
using namespace std;
int main()
cout << “hello world” << endl;
system(“pause”);
return 0;
要量
1.2 注解
单行线注解://
二百一十三注解:/**/
1.3 表达式
数据类型 表达式名 = 表达式初始值;
1.3 表达式
(1)作用:记录流程中不可更改的数据
(2)定义常量的两种方式:
#define 宏常量:#define 常量名 常量值(通常定义在文件上方,一旦修改就会报错)
const修饰的表达式:const 数据类型 常量名=常量值(通常在表达式定义前加关键字const)
1.5 关键字
说明:在定义表达式或者常量的时候,不能使用关键字
C++总计63个关键字,其中C语言占32个关键字
其中画圈的是C语言的关键字
这里要注意了
false和true并不是C语言的关键字
所以C++兼容C的绝大多数语言特性要量
1.6 标识符命名规则
说明:给表达式起名的时候要做到见名知意
(1)标识符不能是关键字
(2)标识符只能由字母、数字、下划线
(3)第二个字符必须是字符或者下划线
(4)标识符中区分大小写
1.7 命名空间
在C/C++中
表达式、函数和后面要学到的类
都是大量存在的
这些表达式、函数和类的名称
将都存在于全局作用域中
可能会导致很多冲突
使用命名空间的目的
是对标识符的名称进行本地化
以避免命名冲突或名字污染
namespace 关键字的出现
就是针对这种问题的
要量
1.71命名空间定义
定义命名空间
需要使用到namespace关键字
后面跟命名空间的名字(随自己定义)
然后接一对{} 即可
{}中即为命名空间的成员
注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中
例如:将上方代码进行修正,如下:
在上述代码中会发现,若想访问命名空间中的表达式,则需要借助一个作用符 :: 这个符号叫做 域作用限定符,xnh :: rand 的意思就是,去左边这个叫xnh的域(命名空间)里面找rand这个表达式。
若我们想打印全局域中的一个表达式,可以如下图:
请注意:命名空间内的表达式只能允许声明和初始化,而不能在其中进行赋值!
①命名空间的普通定义
②命名空间可以嵌套定义
③同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中
虽然将xnh这个命名空间分开写在了List.h和List.cpp两个文件中,但最后会合成同一个命名空间中。
1.72命名空间的使用
①加命名空间名称及作用域限定符
②使用using namespace 命名空间名称引入
using namespace 命名空间名称;
这句代码的意思就是把整个命名空间展开,这样当我们使用命名空间下的表达式、函数等等就不需要加作用域限定符了,用起来方便,但隔离失效了。
例如:
会发生如下的情况:
这样容易造成命名冲突问题,为了解决这个问题,出现了第三种引入方法。
这种方法可以防止命名冲突的问题,因为它只引入了一部分。
今天就分享到这里啦
欢迎朋友们留言评论
我们一同讨论
感兴趣的朋友们可以关注公众号
了解后续知识点~
,如有侵权烦请告知,我们会立即删除.
慧明科技
公众号 :huimingkeji
联系电话:010-57110625