一.命名空间
namespace 名字
作用:一种用来隔离命名冲突的机制,是C++的一项特性
例如:
#include<iostream>namespace A {void func_1() {printf("hello world A\n");return ;} }namespace B {void func_1() {printf("hello world B\n");return ;} }int main() {//在A B 空间中都有一个函数func_1//为了避免发生命名冲突,那么就需要隔离命名空间来定义//在分别调用函数时,需要在函数名前加上命名空间A::func_1();B::func_1();return 0; }
using namespace 命名空间名:
using namespace 命名空间名是 C++ 中的一种语句。
例如using namespace std,用于指定当前代码中使用的命名空间为标准命名空间std,这样就可以直接使用std命名空间中的标识符而不需要在前面添加std::前缀。
代码实现:
#include<iostream> //使用命名空间std using namespace std;int main() {//cin 和 cout 还有 endl都是std空间里的对象//现在不用管cin它们是什么,知道他是std空间里面的就行int n;cin >> n;cout << n << endl;//如果没有using namespace std语句//就需要写成下面的形式std::cin >> n;std::cout << n << std::endl;return 0; }
二.输入与输出
输出:cout对象
现在去理解cout就是用来输出的,然后对于<<的理解就是,将内容给cout,cout将内容输出到输出流中,endl就相当于C语言中的"\n"也就是换行,现在就可以把endl看成"\n",然后需要换行时就直接输出endl换行。
输入:cin对象
现在理解cin就是用来读取数据的,对于>>的理解就是,cin在标准流读取到数据后将数据“打入”给>>后的变量。
代码使用:
#include<iostream> using namespace std;int main() {int n;//使用cin时,也不用对变量进行取地址了//也不用使用格式占位符cin >> n;//在这里使用cout//就不像使用printf还需要使用格式占位符了cout << "hello world " << "n = " << n << endl;return 0; }
格式化输出:
#include <iostream> #include <iomanip> using namespace std;int main() {//输出整形int num = 123;cout << "num = " << num << endl;//输出双精度浮点型double f = 3.1415926;//setprecision(2) 是将输出保留小数点后两位cout << "f = " << f << setprecision(2) << endl;//输出布尔类型bool isTrue = true;//这里使用boolalpha是将输出结果转为字符串类型//如果没有boolalpha 那么将会输出 Value : 1cout << "Value :" << boolalpha << isTrue << endl;//输出字符串string str = "hello world";//现在理解str就是像char类型的字符数组cout << str << endl;//输出科学计数法//scientific 表示输出内容用科学计数法输出double val = 1.2345678;cout << "Scientific notation : " << scientific << val << endl;//输出指针地址int *p = #cout << "&num = " << p << endl;int n = 96;//十六进制cout << hex << "hex : " << n << endl;//八进制cout << oct << "oct : " << n << endl;//十进制cout << dec << "dec : " << n << endl;//自定义输出int width = 10;char c = '*';//setw用于设置字段宽度,即输出的字符数。//它接受一个整数参数,指定输出的最小宽度。//如果输出的内容不够宽,将用空格填充以达到指定的宽度cout << setw(width) << n << endl;//setfill用于设置填充字符,即在宽度未达到指定值时用于填充的字符。//它接受一个字符参数,指定用于填充的字符。//例如下面用字符c进行填充,如果没有setfill那么就默认是空格填充cout << setw(width) << setfill(c) << n << endl;return 0; }
执行结果: