C++ 第一节课 名字空间 ,输入输出函数,和 C 语言的区别
#include <iostream>
// #include 头文件,C++标准库的头文件都不带 .h (.h 是C库头文件添加的)
#include <cstdio>
#include <cstring>
using namespace std;
// namespace 命名空间 为了防止变量名字冲突
// 命名空间中定义自己的变量或函数或类,都是独立的
// 所有的命名空间就是在全局空间中定义的,相当于实在全局空间中又定义一个不同名字的全局作用域;
namespace A {
int a = 20;
void show(){
cout << "A加油" << endl;
}
}
namespace B {
int a = 100;
void show(){
cout << "B加油" << endl;
}
}
using B::a; // 直接导入命名空间 B 中 的 a ;此时的 a 就不再是 B 中独立的 a 了;
int main()
{
cout << "BBB" << a << endl;
cout << "Hello World!" << endl;
// << 是一个运算符重载函数, operatorer << (形参列表)
printf("hello World ! \n");
printf("hello World ! \n");
// C 的输入含糊 scanf
// 在 C++ 中输入的函数cin << 相当于 scanf
// 在 C++ 中表示字符串有了专门的类型: string 类型
// C 中的字符串是没有类型的,只有表现形式, 字符指针,字符数组, 容量及尾部 \0 问题
// 如何访问不同命名空间中的变量或函数 使用 :: (域名访问域)来访问指定空间的变量或函数名或类。
A::show(); // 调用命名空间 A 中的函数
cout << "输出A命名空间的a变量:" << A::a << endl;
string name;
cin >> name;
cout << "输出内容" + name << endl; // ps: endl 就是一个 \n (换行);
// using 关键字, 导入标识符
// 1. 导入具体的标识符 使用 using + 命名空间名字 + 变量/函数/类的名字标识符 using B::a;
// 2. 导入名字空间所有的标识符 using namespace + 名字空间名
// 区别: 导入具体的标识符都不在独立了, 导入全部的标识符还是独立的,不会冲突;
}