深入理解C++11:C++11新特性解析与应用 一 3
兼容性 预定义宏 __STDC_HOSTED__ 如果编译器的目标系统环境中包含完整的C库,那么这个宏就定义为1,否则值为0. __STDC__ C编译器通常用这个宏的值来表示编译器的实现是否与C标准一致。 C++11标准中这个宏是否定义以及定义成什么值由编译器决定。 __STD...
兼容性 预定义宏 __STDC_HOSTED__ 如果编译器的目标系统环境中包含完整的C库,那么这个宏就定义为1,否则值为0. __STDC__ C编译器通常用这个宏的值来表示编译器的实现是否与C标准一致。 C++11标准中这个宏是否定义以及定义成什么值由编译器决定。 __STD...
常用特殊 静态类型动态类型 主要区别在于对类型进行检查的时间点。 对于所谓的静态类型,类型检查主要发生在编译阶段。 对于动态类型,类型检查主要发生在运行阶段(和类型推导相关)。 auto auto声明变量的类型必须由编译器在编译时期推导而得。 auto声明的变量必须被初始化,以使...
新的改变 nullptr 在C++11中,nullptr是一个所谓“指针空值类型”的常量。 nullptr类型数据所占用的内存空间大小和void*是相同的。 nullptr和(void*)0 前者是一个编译时期常量 后者只是一个强制转换表达式,返回的也是一个void*指针类型。 ...
thread相关 创建线程 使用 std::thread 构造函数创建线程,需传递一个可调用对象(函数、Lambda、函数对象等) 可调用对象 普通函数(函数指针) 函数对象(仿函数,Functor) 定义一个重载了 operator() 的类: lambda表达式 直接在线程构...
引用折叠 概述 引用折叠(Reference Collapsing)是C++11引入的机制,用于处理模板编程中多重引用组合的类型推导问题 当间接生成“引用的引用”(如通过模板参数推导、类型别名等)时,编译器会根据规则将其折叠为单一引用类型 它的核心目的是支持完美转发(Perfec...
搜索当前标签