C名称解析

前端之家收集整理的这篇文章主要介绍了C名称解析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道一点关于命名空间和在C中使用基本上我想知道差异并找出如何以最佳方式使用它.

我看到它有(至少)三种方法解决类名,我不知道如何选择它们:

> using namespace< namespace>
> using< namespace> ::< what_to_use>
>< namespace> ::< what_to_use> < use_it>

我想知道这些优点,特别是如果有一种或另一种方式涉及性能,如果它只是语法和偏好的问题,或者还有其他我没有考虑过的事情.

解决方法

首先是 using namespace directive,它带来当前命名空间中指定命名空间的所有符号名称,无论您是否需要/使用它们.当然不受欢迎.

第二个是using namespace declaration.它只在当前命名空间中带来指定的符号名称.优点是您不必每次都输入完全限定的名称.

第三个是符号的完全限定名称.缺点是您必须在使用符号的任何地方键入完全限定名称.

显然,第二&第三是更合适的.它们中的任何一个都没有性能差异.唯一的区别是您键入的字符数量.只需根据您的编码标准指定选择.

编辑:
正如@Jerry指出的那样,将声明与ADL(基于参数的查找)结合使用会导致不良影响.
你可以在我的一个答案中找到详细的解释:

Detailed explanation on how Koenig lookup works with namespaces and why its a good thing?

根据该节,为什么批评Koenig算法?

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