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