std::aligned_union 亦确定所有 Types 中最严格(最大)的对齐要求,使之可用作常量 alignment_value。 若sizeof...(Types) == 0 或若Types 中的任何类型不是完整对象类型,则行为未定义。 是否支持任何扩展对齐是实现定义的。 如果程序添加了 std::aligned_union 的特化,那么行为未定义。
structaligned_union; (C++11 起) 提供嵌套类型type,它是平凡的标准布局类型,且其大小和对齐适合用作任何列于Types的类型的一个对象的未初始化存储。存储的大小至少为Len。std::aligned_union亦确定所有Types中最严格(最大)的对齐要求,使之可用作常量alignment_value。
std::aligned_union 亦确定所有 Types 中最严格(最大)的对齐要求,使之可用作常量 alignment_value。 若sizeof...(Types) == 0 或若 Types 中的任何类型不是完整对象类型,则行为未定义。 是否支持任何扩展对齐是实现定义的。 添加aligned_union 的特化的程序行为未定义。
std::aligned_storage std::aligned_union std::decay std::enable_if std::void_t std::conditional std::common_type std::common_reference std::underlying_type std::type_identity 注释 概念库 (C++20) 错误处理 动态内存管理 日期和时间工具 字符串库 容器库 迭代器库 范围库 (C++20) 算法库 数值库...
对于类成员函数、lambda表达式或其他可调用对象就无能为力了,因此,C++11推出了std::function与std::...
)<<sizeof(std::aligned_union_t<3,char[4]>)<<' '// 4<<sizeof(std::aligned_union_t<1,char,int,double>)<<' '// 8<<sizeof(std::aligned_union_t<12,char,int,double>)<<'\n';// 16 (!)usingvar_t=std::aligned_union<16,int,std::string>;std::cout<<"var_t::alignment_...