前言
C++ 是一门高效、灵活且功能强大的通用编程语言,由 Bjarne Stroustrup 于 1979 年在贝尔实验室开发。它通常被视为 C 语言的延伸,在 C 语言的基础上增加了面向对象编程(OOP)和泛型编程的支持。如果追求极致的程序运行效率,或者需要深入理解计算机底层运作原理,C++ 是必修课。
一、C 与 C++ 程序
C 语言输出 Hello World:
#include <stdio.h>
int main() {
printf("Hello World\n");
return 0;
}
C++ 输出 Hello World:
#include <iostream>
using namespace std;
int main() {
cout << "Hello World" << endl;
return 0;
}
我们发现: C 语言和 C++ 虽然同宗同源,但即使是输出简单的 "Hello World",其背后的设计理念也有很大不同。
- C 语言偏向'面向过程',注重直接的函数调用;
- C++ 偏向'面向对象',引入了流(Stream)和命名空间的概念。
所以,想吃透 C++ 的第一个程序,我们需要先掌握必要的前置知识。
二、命名空间
对于初学 C++ 的读者,可能会疑惑 using namespace std; 这句代码是什么意思,因为在 C 语言中从来没有看见过。
其实,命名空间(Namespace)是 C++ 为了解决 C 语言中'命名冲突'这一痛点而引入的关键特性。
因为在 C/C++ 中,变量、函数和类都是大量存在的,这些名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace 关键字的出现就是针对这种问题的。
2.1 为什么会出现命名冲突
例如:在头文件 <stdlib.h> 中,包含一个名为 rand 的函数,其原型如下:
rand 函数原型:
- 函数名:rand
- 返回值:int
- 参数:void,不需要传参。
- 功能:返回一个伪随机整数
#
rand = ;
{
(, rand);
;
}


