1.命名空间
作用:防止在大型工程中多个包含文件中的Fuction被重复定义使用造成不能编译的混乱。如下错误显示
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK2005 "void __cdecl showFirst(void)" (?showFirst@@YAXXZ) 已经在 first.obj 中定义 Project2 F:\C++语言学习\Project1\Project2\main.obj 1 严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK1169 找到一个或多个多重定义的符号 Project2 F:\C++语言学习\Project1\Project2\bin\Project2.exe 1
为防止上面的情况发生可以将每个接口进行命名空间封装,如下所示先创建一个.h文件
namespace first
{void showFirst();
}
然后在.cpp文件中实现
#include<stdio.h>namespace first
{void showFirst(){printf("This fuction from first.cpp ");}
}
调用的时候要加入.h头文件,引用方法为 命名空间名称::接口函数
#include<iostream>#include"first.h"using namespace std;int main()
{first::showFirst();return 0;}
2.std::endl
作用:
1. 输出换行符\n
2.强制刷新输出缓冲区