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
随机推荐
- JS实现六位字符密码输入器功能
- Linux Redis 的安装步骤详解
- Oracle的数据表中行转列与列转行的操作实例讲解
- ios 贝塞尔曲线切割圆角的方法
- asp.net的GridView控件使用方法大全
- 使用js如何实现全选与全不选
- 8个必备的PHP功能实例代码
- C++中指向结构体变量的指针
- asp ajax注册验证之 防止用户名输入空格
- 浅析ASP.NET安全性分析(加强asp.net 1.1/2.0安全性)
- PHP中使用localhost连接Mysql不成功的解决方法
- 详解C#中的泛型以及编程中使用泛型的优点
- jQuery布局组件EasyUI Layout使用方法详解
- C#中委托的基本用法总结
- android 实现在照片上绘制涂鸦的方法
- 易语言设置月历只显示双月或单月的方法
- React Native基础入门之调试React Native应用的一小步
- 对angularJs中ng-style动态改变样式的实例讲解
- 浅谈SpringBoot是如何实现日志的
- 详解C++ 模板编程
