c – 命名空间到底是什么,为什么有必要

前端之家收集整理的这篇文章主要介绍了c – 命名空间到底是什么,为什么有必要前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我现在正在学习C,在每个项目的开始阶段,我的讲师都会说:
  1. using namespace std;@H_301_3@
  2. 据我所知,它使您不必调用包含头名称的头文件中的函数,如iostream :: stdout,而只需调用stdout.

  3. 但这条线究竟告诉C做什么.什么是命名空间,什么是std

  4. 除了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指令告诉编译器在当前作用域中使用该命名空间,这样就可以了

  1. int f(){
  2. std::cout << "out!" << std::endl;
  3. }@H_301_3@
  4. 要么:

  5. int f(){
  6.     using namespace std;
  7.     cout << "out!" << endl;
  8. }@H_301_3@ 
  9.  

    当你从另一个命名空间中使用很多东西时,它很方便.

  10.  

    来源:Namespaces cppreference.com

猜你在找的C&C++相关文章