asm
用于在C++源码中内嵌汇编语言。
alignas(C++11起)
用来设置内存中的对齐方式,最小是8字节对齐,也可以是16,32,64,128等。
alignof(C++11起)
用于返回指定类型的对齐方式。
and_eq
表示相与并赋值,等价于&=操作符。
not _eq
表示取非并赋值,等价于!=。
or_eq
表示相或并赋值,等价于|=操作符。
xor
表示逻辑异或,等价于^。
xor_eq
表示相异或并赋值,等价于^=。
assert static_assert(C++11)
运行时断言和静态断言。断言:当程序的某个条件其值不为真的时候,退出程序,可以快速定位到程序出错的位置。
auto
C++11对其进行了重新定义,让编译器根据初始值类型自动推断变量的类型。
atomic_noexcept atomic_cancel atomic_commit synchonized
应用于数据库的事务。分别应用于原子块和同步块。
bitand
与and类似,不过是按位操作,等价于&。
bitor
与or类似,也是按位操作,等价于|。
catch throw try
用于处理异常。
char8_t(C++20起) char16_t(C++11起) char32_t(C++11起) wchar_t
表示不同的字符类型大小。
compl
代用运算符
concept(C++20) requires(C++20)
概念与约束
consteval(C++20) constexpr(C++11) constinit(C++20)
与常量表达式有关。
const_cast dynamic_cast reinterpret_cast static_cast
用于不同数据类型间的强制转换。
co__await(C++20) co_return(C++20) co_yield(C++20)
应用于协程。
decltype(C++11)
将变量的类型声明为表达式指定的类型。
explicit
用于修饰构造函数,表明构造函数为显示的,且该构造函数只有能有一个参数,构造函数默认情况下为隐式的。
export
用于访问其他编译单元的变量或对象,普通类型用export,模板类型用export。
friend
用于声明友元类或友元函数,友元机制允许类的非公有成员可以被一个类或者函数访问。
goto
用于将程序无条件跳转到同一函数内的被标记语句。
mutable
用于突破const的限制,被其修饰的变量即使在const函数中也是可以修改的。
noexcept(C++11)
用于告诉编译器函数中不会抛出异常,有利于编译器对程序做更多优化。
operator
重载操作符。
register
用于请求编译器将其修饰的变量直接放入寄存器,以提高读取速度。
signed unsigned
有符号类型和无符号类型
thread_local(C++11)
用于为线程创建线程本地数据,数据的生命周期与线程的生命周期一样。
typedef
用于为类型取别名,一般为类型名比较长的再取个别名。
typeid
用于获取对象的实际类型。
typename
class关键字的同义词,用于引入模板参数;类型名指示符。
union
共用体,联合体,在一个“联合”内定义多种不同的数据类型,这些数据共享同一段内存,达到节省空间的目的,union变量所占用的内存长度等于最长成员的内存长度。采用的覆盖技术。
using
表示在当前文件中引入命名空间;在子类中使用using声明引入基类成员的名称。
virtual
用于定义虚函数和虚继承。
volatile
声明一个对象在程序中可以被语句外的东西修改。特性:易变性、不可优化、顺序性(多线程)
常见的C++关键字简介
最新推荐文章于 2024-04-05 07:00:00 发布