初识C++
文档
离线浏览文档 - cppreference.cn - C++参考手册
如果打开后查看不了里面的内容,可以通过以下的方式解决:
找到这个 CHM 文件(比如
cppreference.chm或C_C++参考文档.chm)右键文件 → 属性
在「常规」选项卡最下方,找到安全提示:「此文件来自其他计算机,可能被阻止以帮助保护该计算机」
勾选 「解除锁定」(如果没有这个选项,直接跳过这步)
点击「应用」→「确定」,再重新双击打开文件
头文件
|
|
C++ 的头文件的功能、预处理原理都与 C 语言无异,下面罗列它们不同与联系:
- C++ 的标准头文件无需后缀。
- C++ 可以接受 C 语言风格后缀的头文件(如
#include <math.h>),但如有可能,要优先使用 C++ 版本的头文件(如#include <cmath>),两者的内容基本是一样的,但后者中的标识符在标准名字空间std中均有声明(除了宏之外)。 - C++ 也接受新风格后缀(如
\*.hpp)。
|
|
名字空间
|
|
上述语句是 C 语言没有的,其含义是使用名字空间 std 中的所有标识符。这里的名字空间是 C++ 引入的一个新概念。名字空间本质上是自定义的作用域,目的是尽可能防止符号命名冲突。
比如,在名字空间 std 中,有如下符号:
coutcincerrstring
由于这些符号(变量、函数、对象)是名字空间 std 中被声明的,因此它们的实际名称应该是:
std::coutstd::cinstd::cerrstd::string
在写程序时,使用什么就引入使用的标识符,未使用的标识符不用引用,为了降低标识符的冲突问题。
标准流对象
标准流对象,指的是cout、cin和cerr。
所谓对象,本质上就是C语言语境中的变量,只不过在面向对象(一般包括两个方面一个属性和行为)的语境中,这些变量都是自带函数(行为)的,它们是名副其实的超级变量,因此为了与C语言的 普通变量加以区分,在面向对象的编程语言中,通常将它们称为对象。
标准输入
|
|
使用流对象的优势在于,不需要关心操作数据的类型,流对象会自动识别不同的数据类型,也可以一次性快速处理,也可以写为
|
|
一次写入多种类型的数据
标准输出
|
|
这么写的数据不会立刻刷新,与C语言的输出一样,先经过缓冲区,需要满足输出的条件才可以。
- 一行写满或者遇到’\n’换行符。
- 缓冲区满
- 程序结束
- 手动刷新
|
|
在C++可以通过使用std中的endl
|
|
标准出错
|
|
cerr的用法与cout是一样的,区别是cerr输出的时候不经过缓冲区直接输出,而cout需要经过行缓冲区。
|
|
C++编译
使用对应的g++编译器