mutable从字面意思来说,是「可变的;会变的」
修饰类的成员变量,用来突破const的限制
#include <iostream>
class Person{
public:
explicit Person(int a):age(a){ }
~Person(){ }
i...
阅读更多
explicit关键字只能用于修饰类构的造函数,表明该构造函数是显式的,不能用于隐式转换和复制初始化。
该关键字只能用来修饰类内部的构造函数;
禁止隐式调用拷贝构造函数 ;
禁止类对象之间的隐式转换;
一般只用于修饰单参构造函数,因为无参构造函数和多参构造函数本身就是显式调用的。
在C++...
阅读更多
alignof
alignof(type),用于获取类型的对齐字节数;返回size_t类型;alignof只能用于类型。
#include <iostream>
using namespace std;
struct DemoStruct2 {
short s1; ...
阅读更多
引入namespace
using namespace std;
将nampespace中单个名字注入到当前作用域
将其它 namespace 的成员引入本命名空间的 当前作用域 (包括其嵌套作用域) 。
一次只引入一个命名空间成员。
using std::map
map<int, int> ...
阅读更多
sizeof是一个单目运算符。
作用是返回一个对象或类型所占的内存字节数。
返回值类型为size_t。(在头文件stddef.h中定义)
sizeof是一个编译时运算符,编译过程中就会计算出sizeof的具体值,然后用值替换掉sizeof (),所以它可以被当作常量表达式使用:
char arr[size...
阅读更多
变量的定义和声明
声明:用于向程序表明变量的类型和名字。
定义:指申请存储空间,并将其与变量名相关联,除此之外,还可以为变量指定初始值。
变量可以声明多次,但只能定义一次。
一般而言,定义变量的时候,同时也声明了变量,但通过extern关键字可以只声明但不定义变量。
extern声明告诉编译器这个变量定义...
阅读更多
枚举类型
枚举类型(enumeration)是 C++ 中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。
枚举元素作为常量,它们是有值的。编译系统为每个枚举常量指定一个整数值。默认状态下,这个整数值就是所列举元素的序号,序号从0开始。
可以在定义枚举类型时为部分或全部枚举常量指定整数值,在指定值之前...
阅读更多
volatile关键字是一种类型修饰符。
volatile int a;
volatile原义:
A situation that is volatile is likely to change suddenly and unexpectedly.
likely:可能的。这意味着被 volat...
阅读更多