explicit 只对构造函数起作用,用来抑制隐式转换。 volatile 直接存取原始内存地址,防止编译器优化。 register 读入寄存器,下次使用直接读取寄存器中的内容。编译器自动优化,现代程序不需要该关键字