C++ 限定名称查找
- 限定名称查找规则实际归纳下来很简单,先对::左边的名称进行查找(遵循,限定,无限定),然后在左边查找到的(此时只查找类型名称)名字的作用域内(含内联名称空间件)查找右边出现的名字,查找到即存在(故可以避免二义访问,名称隐藏,以及多态,还有注入类类名查找),否则出错,并且,对于一个出现在声明器上的无限定名称查找,会对当前声明器的所有名字都进行限定查找,例:
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++ 限定名称查找相关推荐
- php命名空间非限定名称,PHP命名空间 - osc_nnp3dgfb的个人空间 - OSCHINA - 中文开源技术交流社区...
1.概述 命名空间是PHP为了解决重名问题推出的机制,密码空间可以认为地将内存进行分隔,让不同内存区域的同名结构得以共存,类似操作系统中文件夹的概念 基础语法:namespace space_name ...
- php限定名称写法,php命名空间:非限定名称、限定名称、完全限定名称实例详解...
在php命名空间中,需要知道关于空间三种名称的术语:非限定名称.限定名称.完全限定名称,以及PHP是怎样解析它们的.官方文档说得非常好,就直接拿来套了,了解它们对学习后面的内容很有帮助.前面了解到命名 ...
- 根据id/类名/元素名称查找元素
/** * 根据id/类名/元素名称查找元素 * @param selector 选择器(#id ..className.tagname) * @return 返回根据选择器条件查找到的元素 */ f ...
- 根据窗口名称查找关键字弹性域用到的表,列等信息
/* 根据窗口名称查找关键字弹性域用到的表,列等信息*/ -- select c.id_flex_name, a.id_flex_structure_name, b.for ...
- python根据地址查看变量名_tensorflow创建变量以及根据名称查找变量
环境:Ubuntu14.04,tensorflow=1.4(bazel源码安装),Anaconda python=3.6 声明变量主要有两种方法:tf.Variable和 tf.get_variabl ...
- linux查看进程ppid,pidof命令从运行的进程中以名称查找出进程号PID/PPID横向大到小展示...
1.释义 从运行的进程中以名称查找出进程号PID/PPID横向大到小展示 2.系统帮助 PIDOF(8) Linux System Administrator's Manual PIDOF(8) NA ...
- [转] WinForm自定义函数FindControl实现按名称查找控件
原文地址 WinForm自定义函数FindControl实现按名称查找控件 本文所述实例实现WinForm自定义函数FindControl实现按名称查找控件的功能,在C#程序开发中有一定的实用价值. ...
- Error:(63, 24) 错误: 枚举 switch case 标签必须为枚举常量的非限定名称
错误描述: Error:(63, 24) 错误: 枚举 switch case 标签必须为枚举常量的非限定名称. 项目当中用到了饼状图,所以用到了开源的图表库,功能相当强大,传送门:XCL_Chart ...
- 枚举 switch case 标签必须为枚举常量的非限定名称
枚举 switch case 标签必须为枚举常量的非限定名称 错误描述: Error:(63, 24) 错误: 枚举 switch case 标签必须为枚举常量的非限定名称. 解决思路: switch ...
- 查看进程名称 linux,在Linux系统服务器按名称查找进程的命令
当你的Linux系统服务器运行缓慢时,该怎么办?您可能做的第一件事是检查网络连接.然后需要查明哪些服务/软件已经变得不正常,并正在占用宝贵的系统资源.有很多方法可以做到这一点.例如,您可以输入top命 ...
最新文章
- 成贤学院计算机组成原理,东南大学成贤学院计算机硬件课程设计报告解读.doc...
- Unable to get the CMake version located at
- 股神巴菲特揭示致富的十大秘籍[转]
- 如何给APK文件签名
- mysql debug log_PHP代码调试与日志
- linux下安装wls1036_generic.jar,weblogic 安装
- [k8s]dashboard1.8.1搭建( heapster1.5+influxdb+grafana)
- python列表的加法_Python列表加法理解
- mysql驱动和url在5.7以上版本变化
- apple 关闭双重认证_这次Apple可以关闭工作吗?
- 标签thead与th的区别
- 抖音python广告用的什么音乐_被抖音捧火的几首纯音乐,都是你们要的原版,太震撼人心!...
- [C/C++]华为8-19笔试题
- 零基础学习之万物皆可GAN学习路线
- Windows中快速获取文件目录的方法
- 想在网上保持匿名?教你用Linux如何实现!
- 简单聊聊HDFS RBF第二阶段工作近期的一些进展
- Mysql常见面试题(进阶知识点)
- 互联网金融诈骗不缺受害者, 有人刚被3M坑了又投入CA
- 纯CSS实现淘宝天猫优惠券效果