一.命名空间
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 : 1
cout << "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;
}
执行结果: