1.源文件改为了.cpp
2.头文件的改变
  2.1 C++包含标准C语言头文件
    2.1.1 原有的方式
    2.1.2 新的方式: cstdio
    2.1.2 自己写的还是原方式
3.命名空间:增加标识符的使用率,减少因为命名差生的冲突
  3.1 声明一个命名空间 namespaece 空间名{},不能写在函数中,只能在全局区域
  3.2 访问数据: 空间名::空间中的成员名;
     3.3 省略前缀的方式: using namespace 空间名;
4.作用域分辨符 :: 表示全局变量

//C++大部分C语言的内容都能兼容
#include <iostream>        //基本输出如何输出 
#include <cstdio>        //在原来C语言的库前面加一个c 去掉.h包含
#include <stdlib.h>     //依然可以采用原有的方式包含
#include <string>
using namespace std;    // 标准命名空间
//std
namespace MM 
{
    int num;
    void print() 
    {
        printf("MM\n");
    }
}
namespace GG 
{
    int num;
    void print() 
    {
        printf("GG\n");
        int xx = 0;
    }
}
//命名空间嵌套
namespace A 
{
    namespace B 
    {
        int ab = 1;
    }
}
int g_num = 1001;
int main() 
{
    //:: 作用域分辨符---->C++::表示全局
    MM::num = 1;
    MM::print();
    GG::num = 2;
    GG::print();
    using namespace GG;   //省略前缀
    num = 3;     //GG
    print();     //GG
    //注意点:在存在多个空间名,取消的时候一定注意二义性问题
    using namespace MM;
    MM::num = 4;
    printf("%d\n", A::B::ab);
    using namespace A::B;
    printf("%d\n", ab);
    {
        //就近原则
        int g_num = 11;
        printf("%d\n", g_num);
        printf("%d\n", ::g_num);    //C++::表示全局
    }
    return 0;
}