Bootstrap

初识C++ (一)

经过一个多月的学习终于进入C++啦
希望自己能够保持对编程的热爱 继续学习下去!
并且将学习到的知识传递给大家

 一. 什么是C++ ?

C++是一种面向对象的高级程序设计语言,是C语言的超集。C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。

当然这里这些都是网上的套话了 我们这里就把c++当成是c语言的一种补充 继续学习下去

二. 关键字 

c++ 一共63个关键字

对比c语言的32个更多了一些

我们再后面学习到的时候会逐个进行讲解

三. 命名空间 

在c语言中我们有一个不太能解决的问题

就是关于命名冲突的问题

比如以下代码

我们这里可以发现以下的错误

但是当我们屏蔽掉这一行代码的时候

 

我们可以发现! bug消失了

这是为什么呢?

大家不知道还记不记得我们以前学过预处理编译连接

因为我们包含了这个头文件 这个头文件里面有对于rand的定义

所以说会报错

这就叫命名冲突!!!!

但是呢 在c语言阶段我们并没有一个很好的方式来处理这些问题

只能是说知道了有这个命名冲突的存在我们将它的命名修改下

类似是这样子

但是我们c++提供了一个关键字来解决这些问题

namespace关键字

首先说它的作用

它类似于创建一个隐身衣

给作用域里面的所有定义的变量 函数这些套上

让别人找不到它

比如说我们可以这么写

我们可以发现 这里竟然不会报错了

这里就涉及到了一个查找规则的问题

当我们使用一个变量的时候 编译器会首先在局部变量中寻找 如果局部变量中没有的话就会到全局变量中寻找 如果都没有 就会报错 这里需要注意的是 编译器是不会在到命名域里面去寻找的

当然这里除了可以定义变量之外 一切你能够想到的定义类型在命名域里面都可以定义

比如说 函数 比如说 结构体

命名域的使用

命名域有三种使用方法

1 加空间名称和域作用符

比如说这样子

我们在这里就可以使用命名域里面定义的rand了

2. 使用using 将命名空间中的某个成员引入

比如说这样子

3. 使用using将整个命名域引入

比如说这样子

四. c++输入输出

hello world

接下来我们来用c++来写除hello world吧

 我们来分析下这一段代码

#include<iostream>
using namespace std;
int main()
{
	cout << "hello world" << endl;
	return 0;
}

首先我们包含了一个头文件

之后我们使用了这么一行代码

using namespace std;

这里我们使用了std这样一个命名域!

说明了cout endl的定义就是在这里面的

之后我们写下来了这样一段代码

cout << "hello world" << endl;

我们可以将cout当作一个输出流

首先输出一个hello world

再之后输出一个endl(实际上就是一个换行符)

输入

我们这里cin是一个标准输入流

比我们c语言方便的一点是 这里不需要获取类型就可以

比如说我们下面的

结语

本篇文章主要介绍了c语言的关键字 命名空间(namespace)还有简单的输入输出

有不对的地方还请大佬指正

 

;