目录
一、编译环境
二、头文件
三、命名空间
1.命名空间的定义
2.命名空间的访问
四、输入与输出
五、内存分配
六、引用
1.常引用
2.引用的使用
3.指针和引用的区别
七、函数重载
八、缺省参数
九、内联函数
一、编译环境
在虚拟机Ubuntu上使用g++,g++是Linux中C++的编译器,需要安装,g++的使用方法和gcc一样。
测试系统是否有g++: g++ -v
安装:
sudo apt-get update
sudo apt-get install g++
C和C++的关系:C是C++的基础,C++是C的扩展,C++的类型检查比C严格,C++完全兼容C
扩展的内容:
1.面向对象(以类的方式组织代码)
2.运算符的重载(一种特殊的函数形式)
3.异常(一种全新的错误处理方法)
4.泛型编程(类型通用的实现)
二、头文件C++包含自定义的头文件时不再以.h作为结尾
#include //支持输入输出的头文件
#include
#include
但是C语言的标准头文件任然可用
#include
#include
一般C标准头文件在C++引用使用如下方式
#include
#include
注意,非标准头文件不支持该语法。自定义头文件和C语言一样引用。
三、命名空间在C/C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称都将作用于全局作用域中,可能会导致很多命名冲突。命名空间的作用是对标识符和名称进行本地化,以避免命名冲突或名字污染。
1.命名空间的定义定义命名空间,需要使用到 namespace 关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。
namespace 空间名{
变量的声明和定义;
函数的声明和定义;
.....
}
同一个工程中允许存在多个相同名称的命名空间,编译器最后会将其成员合成在同一个命名空间中,所以不能在相同名称的命名空间中定义两个相同名称的成员。
注意:一个命名空间就定义了一个新的作用域,命名空间中所有内容都局限于该命名空间中。
2.命名空间的访问①加命名空间名称及作用域限定符
符号“::”在C++中叫做作用域限定符,通过“命名空间名称::命名空间成员”便可以访问到命名空间中相应的成员。
②使用using将命名空间中的成员引入 通过“using 命名空间名称::命名空间成员”的方式将命名空间中指定的成员引入。在该语句之后的代码中就可以直接使用引入的成员变量了。
③使用using namespace 命名空间名称引入 通过”using namespace 命名空间名称“将命名空间中的全部成员引入。在该语句之后的代码中就可以直接使用该命名空间内的全部成员了。
匿名命名空间(不检验使用):如果一个数据不属于任何命名空间,C++编译器就会将其加入到匿名命名空间,可以使用以下语法来访问匿名命名空间中的内容
::内容;
定义匿名命名空间
namespace
{
内容;
}
命名空间的嵌套 :
namespace ns1{
xxx;
namespace ns2{
yyy;
namespace ns3{
zzz;
}
}
};
访问:
ns1::xxx;
ns1::ns2::yyy;
ns1::ns2::ns3::zzz;
四、输入与输出在C语言中有标准输入输出函数scanf和printf,而在C++中有cin标准输入和cout标准输出。在C语言中使用scanf和printf函数,需要包含头文件stdio.h。在C++中使用cin和cout,需要包含头文件iostream以及std标准命名空间。
#include //引用输入输出流文件
using namespace std; //引用std标准命名空间
标准输出:cout: cout
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?