C++ 关键字

来源:互联网 发布:项目管理平台 java 编辑:程序博客网 时间:2024/05/01 13:30

1.volatile

        volatile 修饰符的主要目的是提示编译器 该对象的值可能在编译器未监测到的情况下被
改变 因此编译器不能武断地对引用这些对象的代码作优化处理。

       将成员函数声明为volatile volatile限定修饰符在 3.13 节介绍 如果一个类对象的值可能被修改的方式是编译器无法控制或检测的。例如 如果它是表示 I/O端口的数据结构则把它声明为 volatile 与 const 类对象类似 对于一个 volatile类对象 只有 volatile 成员函数 构造函数和析构函数可以被调用 
class Screen {
public:
 char poll() volatile;

  //..........
};
char Screen::poll() volatile { ... }

2.explicit

防止隐式类型转换

3.mutable

mutable 修饰的数据成员永远不会是const 成员,即使它是一个const对象的数据成员。mutable成员总可以被更新,即使是在一个const成员函数中。

class Screen {
public:
 // 成员函数
private:
 string _screen;
 mutable string::size_type _cursor; // mutable 成员
 short _height;
 short _width;
};

原创粉丝点击