C++中双冒号::的作用浅析
C++中经常使用的作用符::,作用如下:
•作用域限定符。在类体内申明函数,并在类体外定义函数时,必须在定义函数时加上类名和作用域限定符。
class MyClass{ public: int num; int fun();//类体内申明函数 }; //类体外定义函数 int MyClass::fun(){ return 1; }
•静态数据和静态成员函数成员既可以通过对象名引用,也可以通过类名加::来引用。例如,MyClass::a。静态成员函数的目的就是为了操作静态数据成员,静态成员函数引用不了非静态的数据成员。
class MyClass{ private static int a; }; //类体外引用静态成员变量 MyClass::a;
•引用在类中定义的typedef新类型
class MyClass{ public typedef int INT; //此处typedef的作用:定义类型别名 } MyClass ::INT b;//类体外声明一个变量
•全局作用域符号:当全局变量在局部函数中与其中某个变量重名,可用::来区分。
int a;//全局变量 void fun(){ int a; //局部变量 a(局部变量) = a(局部变量)*a(局部变量) ; ::a(全局变量) =::a(全局变量) *a(局部变量); }
总结
以上所述是小编给大家介绍的C++中双冒号::的作用浅析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
c++中冒号(:)和双冒号(::)的使用说明
(1)表示机构内位域的定义(即该变量占几个bit空间) 复制代码 代码如下: typedef struct _XXX{ unsigned char a:4; unsigned char c;} ; XXX (2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型. 复制代码 代码如下: struct _XXX{ _XXX() : y(0xc0) {}}; (3) public:和privat
-
C++中双冒号::的作用浅析
C++中经常使用的作用符::,作用如下: •作用域限定符.在类体内申明函数,并在类体外定义函数时,必须在定义函数时加上类名和作用域限定符. class MyClass{ public: int num; int fun();//类体内申明函数 }; //类体外定义函数 int MyClass::fun(){ return 1; } •静态数据和静态成员函数成员既可以通过对象名引用,也可以通过类名加::来引用.例如,MyClass::a.静态成员函数的目的就是为了操作静态数据成员,静态成员函数引用
-
URL中“#” “?” &“”号的作用浅析
1. # 10年9月,twitter改版.一个显著变化,就是URL加入了"#!"符号.比如,改版前的用户主页网址为http://twitter.com/username改版后,就变成了http://twitter.com/#!/username 这是主流网站第一次将"#"大规模用于重要URL中.这表明井号(Hash)的作用正在被重新认识.本文根据HttpWatch的文章,整理与井号有关的所有重要知识点. 一.#的涵义 #代表网页中的一个位置.其右面的字符,就是该位置
-
Kotlin中双冒号::使用方法
Kotlin 中 双冒号操作符 表示把一个方法当做一个参数,传递到另一个方法中进行使用,通俗的来讲就是引用一个方法.先来看一下例子: fun main(args: Array<String>) { println(lock("param1", "param2", ::getResult)) } /** * @param str1 参数1 * @param str2 参数2 */ fun getResult(str1: String, str2: Stri
-
C++中双冒号::用法案例详解
C++中的双冒号 :: 第一种,类作用域,用来标明类的变量.函数 Human::setName(char* name); 第二种,命名空间作用域,用来注明所使用的类.函数属于哪一个命名空间的 std::cout << "Hello World" << std::endl; 第三种,全局作用域,用来区分局部.全局的.最容易被忽视的一种,很多时候写了一个全局函数或者想要调用一个全局函数,却发现IDE或者Editor找不到该函数,原因是因为局部函数与想要调用的全局函数
-
关于C++中void*的小作用浅析
本文主要给大家分享了关于C++中void*的一些你可能不了解的小作用,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 先来看一段代码: #include <iostream> #include <string> using namespace std; void o(int* x, void* y){ cout << *x << endl; cout << x << endl; cout << *(int
-
JavaScript中双叹号!!作用示例介绍
!!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false; 经常看到这样的例子: 复制代码 代码如下: var a: var b=!!a; a默认是undefined.!a是true,!!a则是false,所以b的值是false,而不再是undefined,也非其它值,主要是为后续判断提供便利. !!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false; 因为javascript是弱类型的语言(变量没
-
双冒号 ::在PHP中的使用情况
前几天在百度知道里面看到有人问PHP中双冒号::的用法,当时给他的回答比较简洁因为手机打字不大方便!今天突然想起来,所以在这里总结一下我遇到的双冒号::在PHP中使用的情况! 双冒号操作符即作用域限定操作符Scope Resolution Operator可以访问静态.const和类中重写的属性与方法. 在类定义外使用的话,使用类名调用.在PHP 5.3.0,可以使用变量代替类名. Program List:用变量在类定义外部访问 <?php class Fruit { const CONST_
-
浅谈对Java双冒号::的理解
本文为个人理解,不保证完全正确. 官方文档中将双冒号的用法分为4类,按照我的个人理解可以分成2类来使用. 官方文档 官方文档中将双冒号的用法分为了以下4类: 用法 举例 引用静态方法 ContainingClass::staticMethodName 引用特定对象的实例方法 containingObject::instanceMethodName 引用特定类型的任意对象的实例方法 ContainingType::methodName 引用构造函数 ClassName::new 以下是我的理解 个
-
java8中:: 用法示例(JDK8双冒号用法)
JDK8中有双冒号的用法,就是把方法当做参数传到stream内部,使stream的每个元素都传入到该方法里面执行一下. 代码其实很简单: 以前的代码一般是如此的: public class AcceptMethod { public static void printValur(String str){ System.out.println("print value : "+str); } public static void main(String[] args) { List al
随机推荐
- C++中new和delete的使用方法详解
- 微信小程序 获取微信OpenId详解及实例代码
- cmd rd命令 删除文件夹
- spring boot项目中MongoDB的使用方法
- oracle 重置sys密码的方法介绍
- javascript常用的方法分享
- php mysql实现mysql_select_db选择数据库
- ThinkPHP快速入门实例教程之数据分页
- PHP获取当前文件所在目录 getcwd()函数
- Android编程之播放器MediaPlayer实现均衡器效果示例
- 创建配置文件 用PHP写出自己的BLOG系统 2
- Yii 2.0中场景的使用教程
- java中进程与线程_三种实现方式总结(必看篇)
- C#的Process类调用第三方插件实现PDF文件转SWF文件
- JQuery的$和其它JS发生冲突的快速解决方法
- 深入理解jQuery中的事件冒泡
- 管理员需要参考的当服务器被入侵后的紧急补救方法
- Android学习教程之下拉刷新实现代码(11)
- MySQL备份原理详解
- DataTable类Clone方法与Copy方法的区别分析