C++中的双冒号作用
1、
作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分
如:A,B表示两个类,在A,B中都有成员member。那么
      A::member就表示类A中的成员member
      B::member就表示类B中的成员member
2、
全局作用域符号:
例如:
#include <stdio.h> int count = 0; //全局变量 0 void main()
{ int count = 10; //局部变量10 printf("count =%d\n",count);//局部变量屏蔽了全局变量 所以输出结果是10
{
int count = 20; printf("count =%d\n",::count); //作用域符号指出引用全局变量0
//::sort
}
}
作为全局作用域符号,双冒号要放在开头。这和linux下的文件路径类似,“/”放在开头表示绝对路径,放在中间表示子目录。
::符号既可以指定类,也可以指定变量和命名空间:
如果函数放在全局,就是全局函数
如果变量定义在全局,就是全局变量
如果一个命名空间放在全局,就是全局命名空间。
3、
另外,双冒号也常常用于在类变量内部作为当前类实例的元素进行表示:
class CA {
public:
  int ca_var;
  int add(int a, int b);
  int add(int a);
};
//作用域
int CA::add(int a, int b)
{
  return a + b;
}
//另外,双冒号在类变量内部作为当前类实例的元素进行表示
int CA::add(int a)
{
  return a + ::ca_var;
}
//表示当前类实例中的变量ca_var												
											C++中的双冒号作用的更多相关文章
- python中的双冒号作用
		Python序列切片地址可以写为[开始:结束:步长],其中的开始和结束可以省略. 1. range(n)生成[0,n)区间整数 2. 开始start省略时,默认从第0项开始 3. 结尾省略的时候,默认 ... 
- java :: Java中的双冒号操作符
		java中的双冒号操作符 定义 双冒号运算操作符是类方法的句柄,lambda表达式的一种简写,这种简写的学名叫eta-conversion或者叫η-conversion. 通常的情况下: 把 x -& ... 
- php类中双冒号和->的区别
		就是为了区分对象的方法和属性,和是访问类的静态方法和静态变量,类的静态方法和静态变量是类公用的,不需要实例化也能访问,而对象的方法和属性是每个对象特有的,因此必须先实例化.其他语言如C++,JAVA等 ... 
- java 8 双冒号运算符
		前言 java8增加了双冒号运算符.lambda本质上都是语法糖,学习过C#委托.匿名委托再理解java8中的双冒号运算符就容易多了.双冒号就是把方法当作参数传递给需要的方法,或者说是传递到strea ... 
- makefile 双冒号规则
		双冒号规则就是使用“::”代替普通规则的“:”得到的规则.当同一个文件作为多个规则的目标时,双冒号规则的处理和普通规则的处理过程完全不同(双冒号规则允许在多个规则中为同一个目标指定不同的重建目标的命令 ... 
- php中"::"双冒号有什么作用
		PHP代码 lazycms::$sysname 第一次见到这种表现方式,请问是双冒号什么意思 答:直接属类的方法或属性.也就是static 静态方法或属性的使用.域运算符,一般用于在B类对象中使用A类 ... 
- ::before和:after中的的双冒号和单冒号有什么区别及这两个伪元素的作用
		::before和:after中的的双冒号和单冒号有什么区别及这两个伪元素的作用 单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素(伪元素由双冒号和伪元素名称组成),为了兼容已有的伪元素 ... 
- c++中双冒号的作用
		双冒号(::)用法 参考链接:https://segmentfault.com/a/1190000000345680 1.表示“域操作符”例:声明了一个类A,类A里声明了一个成员函数void f(), ... 
- C#中双问号、双冒号等几个特殊关键字
		1.@ 这个东东看似和邮件有关啊,但是在C#的世界里,可跟邮件没有一毛钱关系,它是string的女朋友(当然了string有N多女友),二者结合就可以发挥作用了.你可以给它起个名字,叫做“逐字字符串” ... 
随机推荐
- javaweb里html的一些基本代码意义(学)
			<html> <head> <title>body.text属性示例</title> </head> <body text=" ... 
- java开发高校社团管理系统JSP
			运行环境JDK1.7编写Eclipse( Neon.3 Release (4.6.3)) windows下Tomcat v8.5Mysql 5.5使用技术Java servlet & jspM ... 
- Python【day 14-2】递归遍历文件夹
			#需求 遍历文件夹中所有的子文件夹及子文件--用递归实现 '''''' ''' 伪代码 1.遍历根目录--listdir for 得到第一级子文件夹(不包含子文件夹的子文件)和文件 2.判断是文件还是 ... 
- 转      echarts 的使用时遇到的坑 初始化和销毁,亲测有效!
			纵观ECharts图表实例化的API,主要有一下几个相关的实例化方法: 1.setOption(Object option,{boolean = true} notMerge) 参数: 1).Obje ... 
- 2.3 Scala面向对象编程基础
			一.类 1.类的定义 Unit表示什么都不返回 方法体最后一句的值,就是方法的返回值. 2.类成员的可见性 3.方法的定义方式 定义方法的时候加圆括号,调用时可以加圆括号c.getValue()也可以 ... 
- 过滤身份证号和grep复习
			一.把身份证号过滤出来 我们还是从一道面试题说起. 请从test.txt文件当中过滤出正确的的身份证号码 [root@localhost test.dir]# cat test.txt 赵 37083 ... 
- 【NodeJS】Vue-d2Admin
			INFO Starting development server... 10% building 2/2 modules 0 active ERROR Error: Watching remote f ... 
- Cookie 技术
			Cookie 学习: 问题: HTTP 协议是没有记忆功能的,一次请求结束后,相关数据会被销毁.如果第二次的请求需要使用相同的请求数据怎么办呢?难道是让用户再次请求书写吗? 解决:使用 Cookie ... 
- [RN] react-native FlatList 实现列表选中的最佳方式(刷新指定Item)
			效果如下: 核心思路就是往数据源里面 给每条数据加一个选中状态. 如图在网络请求完成之后,给每条数据添加一个select的状态: data.list.forEach(item => item.s ... 
- 11/7 <Dynamic Programming>
			62. Unique Paths 方法一: 二位数组 而这道题是每次可以向下走或者向右走,求到达最右下角的所有不同走法的个数.那么跟爬梯子问题一样,需要用动态规划 Dynamic Programmin ... 
