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
随机推荐
- Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)的完美解决方法
- 编程人员阅读代码的一些小技巧分享
- extjs grid设置某列背景颜色和字体颜色的方法
- javascript KeyDown、KeyPress和KeyUp事件的区别与联系
- 图解找出PHP配置文件php.ini的路径的方法
- php自定义函数之递归删除文件及目录
- Ajax中的循环方案
- 支持IE6 IE7 Firefox 的纯CSS的下拉菜单
- JavaScript 常见安全漏洞和自动化检测技术
- 浅析shell脚本知识之符号篇
- Visual Studio中的jQuery智能提示设置方法
- bootstrap的工具提示实例代码
- JScript中的undefined和"undefined"的区别
- 简单谈谈gulp-changed插件
- JavaScript中null与undefined分析
- linux实现自动部署tomcat脚本
- Mybatis Update操作返回值问题
- java利用时间格式生成唯一文件名的方法
- Javascript中神奇的this
- php fckeditor 调用的函数
