我现在正在学习C,在每个项目的开始阶段,我的讲师都会说:
using namespace std;
据我所知,它使您不必调用包含头名称的头文件中的函数,如iostream :: stdout,而只需调用stdout.
但这条线究竟告诉C做什么.什么是命名空间,什么是std?
除了python之外,我也是编程新手,所以切换到一个新的范例对我来说非常困惑.
解决方法
来自cppreference.com:
Namespaces provide a method for preventing name conflicts in large
projects.Symbols declared inside a namespace block are placed in a named scope
that prevents them from being mistaken for identically-named symbols
in other scopes.Multiple namespace blocks with the same name are allowed. All
declarations within those blocks are declared in the named scope.
命名空间可以避免名称冲突,例如标准库定义了sort(),但这对于排序函数来说是一个非常好的名称,这要归功于您可以定义自己的sort()的名称空间,因为它不在同一名称空间中作为标准的.
using指令告诉编译器在当前作用域中使用该命名空间,这样就可以了
int f(){ std::cout << "out!" << std::endl; }
要么:
int f(){ using namespace std; cout << "out!" << endl; }
当你从另一个命名空间中使用很多东西时,它很方便.