C/C++作用域运算符::
::是运算符中等级最高的,它分为三种:全局作用域符,类作用域符,命名空间作用域符
全局作用
全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用::来区分如:
char ch; //全局变量
void sleep()
{
char ch; //局部变量
ch(局部变量) = ch(局部变量) *ch(局部变量) ;
::ch(全局变量) =::ch(全局变量) *ch(局部变量);
}
类作用域符号
类作用域符号::的前面一般是类名称,后面一般是该类的成员名称,C++为了避免不同的类有名称相同的成员而采用作用域的方式进行区分。
例如A,B表示两个类,在A,B中都有成员member,那么
A::member就表示类A中的成员member
B::member就表示类B中的成员member
命名空间
“::”是作用域限定符或者称作用域运算符或者作用域操作符(scope operator),例如命名空间。
“::”作用:namespace::name
:: 的另一种用法
直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,在类内定义的时候,用此函数名默认调用的是本身的成员函数;如果要调用同名的全局函数时,就必须打上::以示区别。
C/C++作用域运算符::的更多相关文章
- c++作用域运算符---7
原创博客:转载请标明出处:http://www.cnblogs.com/zxouxuewei/ ::是C++里的“作用域运算符”. 比如声明了一个类A,类A里声明了一个成员函数void f(),但没有 ...
- C++中对C的扩展学习新增语法——作用域运算符::
作用域运算符用来告诉编译器在哪个作用域范围搜索符号,一般分为以下3种: 全局作用域: 命名空间作用域: 类作用域:
- C++之运算符重载(1)
在前一节中曾提到过,C++中运行时的多态性主要是通过虚函数来实现的,而编译时的多态性是由函数重载和运算符重载来实现的.这一系列我将主要讲解C++中有关运算符重载方面的内容.在每一个系列讲解之前,都会有 ...
- 玩转C++运算符重载
运算符重载语法:返回值类型 operator运算符(参数列表) { 代码逻辑... } C++中的运算符重载是通过函数来实现的,可以将重载的运算符看作是类成的一个成员函数,向普通函数一样调用.如重 ...
- C++学习之运算符重载的总结
C++学习之运算符重载的总结 运算符重载是对已有的运算符赋予多重含义,使同一个运算符作用域不同类型的数据导致不同行为的发生,C++为运算符重载提供了一种方法,即运算符重载函数 ...
- C++学习之路—运算符重载(一)概念、方法及规则
(根据<C++程序设计>(谭浩强)整理,整理者:华科小涛,@http://www.cnblogs.com/hust-ghtao转载请注明) 1 什么是运算符重载 先来说下什么是重载吧 ...
- C/C++对bool operator < (const p &a)const的认识,运算符重载详解(杂谈)
下面来进行这段代码的分析: struct node { //定义一个结构体node(节点) int x; int y; int len; //node中有3个成员变量x,y,l ...
- C++关于运算符重载知识点
1) 除了类属关系运算符".".成员指针运算符".*".作用域运算符"::".sizeof运算符和三目运算符"?:"以外 ...
- C++学习6-面向对象编程基础(运算符重载、类的派生与继承、命名空间)
运算符重载 重载的运算符是具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.重载的运算符是遵循函数重载的选择原则,根据不同类型或不同参数来选择不同的重载运算符. 运 ...
随机推荐
- Spring 读取配置文件的俩种方式
读取配置可通过 org.springframework.core.env.Environment 类来获取, 也可以通过@Value的方式来获取 注解形式: @PropertySource({&quo ...
- grep命令.md
grep命令 简介 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Prin ...
- leetcode第一刷_N-Queens
八皇后问题应该是回溯法的教学典范.在本科的时候,有一门课叫面向对象.最后的附录有这个问题的源码.当时根本不懂编程,照抄下来,执行一下出了结果都非常开心,哎. 皇后们的限制条件是不能同行同列,也不能同对 ...
- VS中生成、清理项目、调试、開始运行(不调试)、Debug 和 Release等之间的差别
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/helloUSB2010/article/details/35802437 一.生成和又一次生成 &q ...
- log4j配置不生效
可能原因是打包时候log4j.properties没有在classpath下面或者是加载时候被其他第三方jar包中的log4j.properties文件覆盖掉了,可以使用如下命令进行查看log4j具体 ...
- Hive学习之路 (七)Hive的DDL操作
库操作 1.创建库 语法结构 CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] //关 ...
- Hive学习之路 (六)Hive SQL之数据类型和存储格式
一.数据类型 1.基本数据类型 Hive 支持关系型数据中大多数基本数据类型 类型 描述 示例 boolean true/false TRUE tinyint 1字节的有符号整数 -128~127 1 ...
- 03.Java语言基础
Java程序的组成 关键字,标识符,注释,变量,语句,表达式,数组,方法 关键字 Java语言内部使用了的一些用于特殊用途的词汇,那么在程序中用户不能使用.语言本身保留了一些词汇用于语言的语法等用途. ...
- linq to sql 和linq to php 的区别
linq to sql 这是自.net框架3.5版本以上做出了相关规定. linq to php .Net的linq库的忠实移植到PHP 这个库使得大量使用匿名函数在PHP 5.3中引入的功能.因此, ...
- SRcnn:神经网络重建图片的开山之作
% ========================================================================= % Test code for Super-Re ...