![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
kaydxh
github主页:https://github.com/kaydxh
展开
-
《深入浅出c++11之7融入实际应用》
7 融入实际应用7.1 对齐支持C++ 98中gcc使用如下对齐描述:__attribute__ ((__aligned__(8)))C++11中新增了2个关键字:操作符alignof,对齐描述符alignasint a;long long b;auto &c = b;char d[1024];cout << alignof(int) << endl; //4cout << alignof(a) << endl //4 <原创 2020-05-24 13:03:17 · 386 阅读 · 0 评论 -
《深入浅出c++11之6为改变思考方式而改变》
6 为改变思考方式而改变6.1 指针空值–nullptrC++ 98中,字面常量0的类型既可以是一个整型,也可以是一个无类型指针(void *)C++ 11中,nullptr是一个所谓“指针空值类型”的常量。nullptr的类型是nullptr_tnullptr类型数据所占用的内存空间大小跟void*相同,即sizeof(nullptr_t) == sizeof(void*)nullptr到任何指针转换是隐式的int *py = nullptr;6.2 =default 与 =delet原创 2020-05-24 13:01:29 · 138 阅读 · 0 评论 -
《深入浅出c++11之5提高性能及操作硬件的能力》
5 提高性能及操作硬件的能力5.1 常量表达式5.1.1 运行时常量性与编译时常量性const int i = 3; //运行时常量constexpr int GetConst() {return 1;}; //编译时常量5.1.2 常量表达式函数常量表达式函数的要求:函数体只有单一的return返回语句。(如果有static_assert, using和typedef指令通常也是可以的)函数必须返回值(不能是void函数)在使用前必须已有定义return返回语句表达式中不能使用非常原创 2020-05-24 12:59:26 · 286 阅读 · 0 评论 -
《深入浅出c++之4提高类型安全》
4 提高类型安全4.1 强类型枚举C++ 98中的非强类型作用域,允许隐式转换为整型,占用存储空间及符号性不确定,都是枚举类的缺点。C++11引入枚举类,即强类型枚举。强类型枚举优势:强作用域,强类型枚举成员的名称不会被输出到其父作用域空间转换限制,强类型枚举成员的值不可以与整形隐式地相互转换可以指定底层类型。强类型枚举默认的底层类型为int,但也可以显示地指定底层类型,具体方法在枚举名称后面加上":type",type是除了wchar_t以外的任何整型,如:enum class Weig原创 2020-05-24 12:56:29 · 132 阅读 · 0 评论 -
《深入浅出c++11之3新手易学,老兵易用》
3 新手易学,老兵易用3.1 右尖括号 > 的改进在C++ 98中,如果实例化模版的时候出现了连续的两个右尖括号>,需要一个空格来进行分隔,否则被解析为右移。C++ 11中取消了这种限制。3.2 auto类型推导auto声明的变量必须被初始化,以使编译器能够从其初始化表达式中推导其类型。auto使用细则:int x;int * y = &x;double foo();int &bar();auto *a = &x; //int*auto &原创 2020-05-23 17:13:42 · 214 阅读 · 0 评论 -
《深入浅出C++11之2通用为本,专用为末》
2 通用为本,专用为末2.1 继承构造函数C++11中子类可以通过using声明来声明继承基类的构造函数。struct A { A(int i) {} A(double d, int i) {} A(float f, int i, const char* c) {}};struct B: A { using A::A; //继承构造函数 //等价于 //B(int i): A(i) {} //B(double d, int i): A(d, i) {} //B(float f,原创 2020-05-23 17:10:40 · 412 阅读 · 0 评论 -
《深入浅出C++11之1保证稳定性和兼容性》
1 保证稳定性和兼容性1.1 保持与C99兼容C++11将对一下C99特性的支持纳入新标准:C99中的预定义宏__func__预定义标识符_Pragma操作符不定参数宏定义以及__VA_ARGS__宽窄字符串连接1.1.1 预定义宏宏名称功能描述__STDC_HOSTED__如果编译器的目标系统环境中包含完整的标准C库,那么这个宏定义为1,否则宏的值为0__STDC__C编译器通常用这个宏的值来表示编译器的实现是否和C标准一致。C++11标准中这个宏是否定原创 2020-05-23 17:06:18 · 355 阅读 · 0 评论