C++ 之 explicit,mutable,volatile 浅析
来源:互联网 发布:民宿 知乎 编辑:程序博客网 时间:2024/06/11 10:01
explicit:放在构造函数前面可以阻止构造函数的隐式类型转换。这样可以避免不必要的错误。
代码用例:
public static explicit operator RMB(float f){uint yuan = (uint)f;uint jiao = (uint)((f - yuan) * 10);uint fen = (uint)(((f - yuan) * 100) % 10);return new RMB(yuan, jiao, fen);}
mutable:类的const成员函数本来不可以改变类的成员变量的值,但是一旦某个成员变量被mutable修饰,那么const成员函数可以改变它。
代码用例:
#include <iostream>using namespace std;class Foo {public: void set_bar(int val) { bar = val; } void set_bar_const(int val) const { bar = val; }private: mutable int bar;}; int main(int argc, char *argv[]){ Foo foo; foo.set_bar(0); foo.set_bar_const(0); const Foo cfoo(foo); // cfoo.set_bar(0); 出错 cfoo.set_bar_const(0); return 0;}
volatile:关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。
(扩展阅读:http://blog.csdn.net/helonsy/article/details/7164655)
代码用例:
volatile int i=10;
0 0
- C++ 之 explicit,mutable,volatile 浅析
- C++—volatile、explicit、mutable关键字
- mutable explicit volatile
- explicit,violate,volatile,mutable
- C/C++之mutable,volatile的用法
- C++关键字:mutable、volatile、explicit以及__based
- C++关键字:mutable、volatile、explicit以及__based
- C++关键字:mutable、volatile、explicit以及__based
- C++关键字:mutable、volatile、explicit以及__based
- C++关键字:mutable、volatile、explicit以及__based
- C++中的mutable,volatile,explicit关键字
- 关于mutable volatile explicit的简析
- C++关键字:mutable、volatile、explicit以及__based mutable关键字
- c++关键字详解(volatile, mutable, explicit, dynamic_ cast(expression))等
- c++关键字详解(volatile, mutable, explicit, dynamic_ cast(expression))等
- C++不常用的mutable volatile __based explicit关键字
- C++中const、volatile、mutable、explicit的用法
- c++关键字详解(volatile, mutable, explicit, dynamic_ cast(expression))等
- Python 之 Post 登陆 Dz 论坛
- 在NeoKylin下安装QT5
- SQL示例
- Mac 配置 Apache .php
- dom4j解析
- C++ 之 explicit,mutable,volatile 浅析
- UDP
- 三子棋
- android 默认锁屏界面没有紧急呼救入口如何解决
- pop 一个viewController时候会有键盘闪现出来又消失
- JS获取汉字首字母
- java基础—5.异常处理
- leetcode之Missing Number
- Native Wifi 中 WlanSetProfile 出现1206错误的几种可能及解决方法