• 限定名称查找规则实际归纳下来很简单,先对::左边的名称进行查找(遵循,限定,无限定),然后在左边查找到的(此时只查找类型名称)名字的作用域内(含内联名称空间件)查找右边出现的名字,查找到即存在(故可以避免二义访问,名称隐藏,以及多态,还有注入类类名查找),否则出错,并且,对于一个出现在声明器上的无限定名称查找,会对当前声明器的所有名字都进行限定查找,例:
const int DD = 100;
class N{static int S[DD];static const int DD = 50;
};
int N::S[DD]{};//错误,此时的DD是N::DD,而不是声明的::DD;
  • ,但是对于以下,存在特殊情况:

    • ::后是~的后接标识符,那么此时将在左边的名称空间内查找析构函数(或伪析构)
    • 当::后的名字和左边的相同,那么为构造函数,此时若处于using 之后,则意为无视访问限定可查找到基类所有构造函数,当且仅当,前面存在详细类型指定符时,为类型,即为注入类名
    • ::后若为operator的转换类型,则其后的类型ID优先在前面的范围内查找,查找不到则在当前作用域按无限定名称查找,但是,此时两个作用域内的转换目标必须一致,例:
    class D{public:operator double(){return 1;}
    };
    class C{using DS = double;//using DS = int;            错误
    public:friend D::operator DS();
    };
    • ::后为模板(类,函数等),模板实参查找在当前作用域内按无限定名称查找方式进行
  • 对于一个声明,若是按照不同的空间方式查找得到,但是查找到的都是同一声明,那么无异议.

转载于:https://www.cnblogs.com/A001/p/10564139.html

C++ 限定名称查找相关推荐

  1. php命名空间非限定名称,PHP命名空间 - osc_nnp3dgfb的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.概述 命名空间是PHP为了解决重名问题推出的机制,密码空间可以认为地将内存进行分隔,让不同内存区域的同名结构得以共存,类似操作系统中文件夹的概念 基础语法:namespace space_name ...

  2. php限定名称写法,php命名空间:非限定名称、限定名称、完全限定名称实例详解...

    在php命名空间中,需要知道关于空间三种名称的术语:非限定名称.限定名称.完全限定名称,以及PHP是怎样解析它们的.官方文档说得非常好,就直接拿来套了,了解它们对学习后面的内容很有帮助.前面了解到命名 ...

  3. 根据id/类名/元素名称查找元素

    /** * 根据id/类名/元素名称查找元素 * @param selector 选择器(#id ..className.tagname) * @return 返回根据选择器条件查找到的元素 */ f ...

  4. 根据窗口名称查找关键字弹性域用到的表,列等信息

    /* 根据窗口名称查找关键字弹性域用到的表,列等信息*/ -- select c.id_flex_name,        a.id_flex_structure_name,        b.for ...

  5. python根据地址查看变量名_tensorflow创建变量以及根据名称查找变量

    环境:Ubuntu14.04,tensorflow=1.4(bazel源码安装),Anaconda python=3.6 声明变量主要有两种方法:tf.Variable和 tf.get_variabl ...

  6. linux查看进程ppid,pidof命令从运行的进程中以名称查找出进程号PID/PPID横向大到小展示...

    1.释义 从运行的进程中以名称查找出进程号PID/PPID横向大到小展示 2.系统帮助 PIDOF(8) Linux System Administrator's Manual PIDOF(8) NA ...

  7. [转] WinForm自定义函数FindControl实现按名称查找控件

    原文地址 WinForm自定义函数FindControl实现按名称查找控件 本文所述实例实现WinForm自定义函数FindControl实现按名称查找控件的功能,在C#程序开发中有一定的实用价值. ...

  8. Error:(63, 24) 错误: 枚举 switch case 标签必须为枚举常量的非限定名称

    错误描述: Error:(63, 24) 错误: 枚举 switch case 标签必须为枚举常量的非限定名称. 项目当中用到了饼状图,所以用到了开源的图表库,功能相当强大,传送门:XCL_Chart ...

  9. 枚举 switch case 标签必须为枚举常量的非限定名称

    枚举 switch case 标签必须为枚举常量的非限定名称 错误描述: Error:(63, 24) 错误: 枚举 switch case 标签必须为枚举常量的非限定名称. 解决思路: switch ...

  10. 查看进程名称 linux,在Linux系统服务器按名称查找进程的命令

    当你的Linux系统服务器运行缓慢时,该怎么办?您可能做的第一件事是检查网络连接.然后需要查明哪些服务/软件已经变得不正常,并正在占用宝贵的系统资源.有很多方法可以做到这一点.例如,您可以输入top命 ...

最新文章

  1. 成贤学院计算机组成原理,东南大学成贤学院计算机硬件课程设计报告解读.doc...
  2. Unable to get the CMake version located at
  3. 股神巴菲特揭示致富的十大秘籍[转]
  4. 如何给APK文件签名
  5. mysql debug log_PHP代码调试与日志
  6. linux下安装wls1036_generic.jar,weblogic 安装
  7. [k8s]dashboard1.8.1搭建( heapster1.5+influxdb+grafana)
  8. python列表的加法_Python列表加法理解
  9. mysql驱动和url在5.7以上版本变化
  10. apple 关闭双重认证_这次Apple可以关闭工作吗?
  11. 标签thead与th的区别
  12. 抖音python广告用的什么音乐_被抖音捧火的几首纯音乐,都是你们要的原版,太震撼人心!...
  13. [C/C++]华为8-19笔试题
  14. 零基础学习之万物皆可GAN学习路线
  15. Windows中快速获取文件目录的方法
  16. 想在网上保持匿名?教你用Linux如何实现!
  17. 简单聊聊HDFS RBF第二阶段工作近期的一些进展
  18. Mysql常见面试题(进阶知识点)
  19. 互联网金融诈骗不缺受害者, 有人刚被3M坑了又投入CA
  20. 纯CSS实现淘宝天猫优惠券效果

热门文章

  1. C#格式化小数位的方法
  2. 勒索软件Locky最新传播载体分析——中文版Office危在旦夕
  3. Salesforce Ventures为云初创公司Vlocity注资5000万美元
  4. hadoop mapreduce lzo
  5. SCCM 2012系列13 操作系统播发②
  6. ext源码阅读 - DomHelper - createHtml,insertHtml
  7. 对DataList模板中的绑定数据进行再加工
  8. SQL DATEADD函数
  9. SQL结构化数据查询语言培训讲义
  10. [转载+整理]Nginx Location匹配规则