此篇主要学习三个知识点:

1. C++关键字(C++98)

2. C++中的命名空间

3. C++下的输入、输出


1. C++关键字(C++98)

[C++系列] 2. C++关键字、命名空间、输入与输出

       对于C++的关键字,我们不需要特别去“背诵”它,一是:任务量繁重易出错,二是:不能够理解“关键字”,关键在哪里了?这些在日后的学习中会慢慢进行涉及,潜移默化也就懂了。但还是和C语言一样,得记住一些特例,例如define,这个小坑!

2. C++中的命名空间

       当变量、函数、类非常多时,它们大多都存在于全局作用域中。而对它们的命名既要做到“见名知意”,又要避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的,其目的是对标识符的名称进行本地化。

2.1 命名空间的定义

       定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空
间的成员。

namespace N1 {        // 1.N1为命名空间的名称
		//命名空间中既可以定义变量,也可以定义函数
	int a;
	int b;
	int Add(int a, int b) {
		return a + b;
	}
}

// 2.命名空间可以嵌套
// 嵌套调用的规则为从外到内依次调用
namespace N2 { 
	int a;
	int b;
	int Add(int a, int b) {
		return a + b;
	}
	namespace N3 {
		int c;
		int Add(int a, int c) {
			return a + c;
		}
	}
}

// 3.同一工程下可以允许多个命名空间名字相同
// 编译器最后将其合成到同一个命名空间内
namespace N1 {
	int m;
	int Add(int a, int m) {
		return a + m;
	}
}



       在工程中,我们定义好了多个命名空间时,还有很重要的一点:避免命名空间的展开,例如using namespace N1、using namespace N2,当有多个空间展开时,同名便会造成重定义!!!

2.2 命名空间的使用

命名空间的使用有三种方式:

1)加命名空间名称及作用于限定符

int main() {
	cout << N1::a << endl;
}

2)使用using将命名空间中成员引入

using N1::b;

int main()
{
	cout << N1::a << endl;
	cout << b << endl;
	return 0;
}

3)使用using namespace 命名空间名称引入

using namespce N1;

int main()
{
	cout << N1::a << endl;
	cout << b << endl;
	Add(10, 20);
	return 0;
}

       针对第3)种方式,在此我们不推荐使用,在平常的学习中所创建的变量、函数、类较少不怎么影响,但我们使用命名空间的作用便是为了防止重复命名出错,命名污染。命名空间展开便没有它的自身价值了。

3. C++下的输入、输出

#include <iostream>
using namespace std;

int main() {
	cout << "Hello world!!!" << endl;  // 相当于std::cout<<endl;
	return 0;
}

就3点进行说明:

1) 使用cout标准输出(控制台)cin标准输入(键盘)时,必须包含<iostream>头文件std标准命名空间(与编译器是否支持有关)。

2)采用C++进行输入输出更加方便,无需增加数据格式控制,如:整形--%d,字符--%c。

3)支持连续的输入输出,“>>”其有返回值,即返回一个cin、cout以便下次继续进行输入输出。

相关文章: