这里写目录标题
- 什么是c++
- 命名空间域(namespace)
- 怎么调用命名中间域中的东西呢?
- [<<是什么 / >>是什么 / cout 是什么 / cin是什么?](#<<是什么 / >>是什么 / cout 是什么 / cin是什么?)
- using是干嘛的?
什么是c++
C++:是C延伸出来的一种编程语言,其中包含了C语言的大部分语法 ,还有面向对象 ,还有泛型 ,还弥补了C中一些不足之处。
命名空间域(namespace)
C++中可以用namespace 来解决命名冲突(命名冲突在C语言中难以解决)
在namespace中 可以定义变量、 函数、结构体等等
cpp
//namespace 命名空间域 (解决命名冲突)
using namespace std;
namespace dabai
{
int rand = 0;//全局变量
namespace add //命名空间可以嵌套
{
int rand = 2;
}
int ADD(int x, int y)
{
return x + y;
}
struct MyStruct
{
};
}
怎么调用命名中间域中的东西呢?
在C++中我们可以用 :: 来调用namespace 里面的东西
cpp
int main()
{
// :: 域作用限定符 调用域里面的东西
printf("%d\n", dabai::rand);
printf("%d\n", dabai::add::rand);
cout << "hello word" << endl;
dabai::ADD(1, 2);
struct dabai::MyStruct node;// 域中结构体的调用
return 0;
}
<<是什么 / >>是什么 / cout 是什么 / cin是什么?
cout: 对象,并且可以自动识别出对象类型,可以打印出信息
<<: 流插入
流插入:流到到对象中
>>: 流提取,也能自动识别类型
>>经常和cin一起用
cin: 输入,相当于 c里面的scanf
cpp
int main()
{
//cout 对象,自动识别输出对象的类型
//<< 流插入 流向
cout << "hello world\n";
std::cout << "hello world\n";
int a = 10;
double b = 13.14;
// >>流提取 自动识别类型
//cin 输入
cin >> a >> b;
cout << a << endl;// endl == \n;
cout << b << endl;
cout << a <<"\t" << b << endl;
}
using是干嘛的?
using 展开这个空间
cpp
默认 展开ADD这个空间
using namespace ADD;
//std 是c++官方库定义的 命名空间
using namespace std;
工程项目中不要展开 std,容易冲突
int main()
{
ST s;
StackInit(&s);
}
但是因为展开空间是危险的所有 指定展开就可以解决问题
cpp
/每次指定命名空间很麻烦
//直接展开空间很危险
//指定展开就可以解决问题
using std::cout;
using std::endl;
using std::cin;