随笔分类 -  C++新标准(C++11)

摘要:  初始化是一个非常重要的语言特性,最常见的就是对对象进行初始化。在传统 C++ 中,不同的对象有着不同的初始化方法,例如普通数组、POD (plain old data,没有构造、析构和虚函数的类或结构体)类型都可以使用 {} 进行初始化,也就是我们所说的初始化列表。而对于类对象的初始化 阅读全文
posted @ 2017-08-23 15:19 曹孟德 阅读(1622) 评论(0) 推荐(0)
摘要:在传统 C 和 C++中,参数的类型都必须明确定义,当我们面对一大堆复杂的模板类型时,必须明确的指出变量的类型才能进行后续的编码,这样很不方便,而向python等语言就要显得智能得多。C++11 引入了 auto 和 decltype 这两个关键字实现了类型推导,让编译器来操心变量的类型。这使得 C 阅读全文
posted @ 2017-08-22 15:06 曹孟德 阅读(230) 评论(0) 推荐(0)
摘要:nullptr   nullptr出现的目的自然是替换NULL的低位。C++可能会将NULL、0视为同一种东西。这取决于编译器是如何定义的,有的编译器定义NULL为 ( (void \ )0) ,有的直接定义为0,这样的化在程序中可能会出现意想不到的错误,例如它会破坏函数的重载功能,考虑下 阅读全文
posted @ 2017-08-22 14:12 曹孟德 阅读(260) 评论(0) 推荐(0)
摘要:概述  C++1x (本教程中指 C++11/14, 甚至 C++17) 为传统 C++ 注入的大量特性使得整个 C++ 变得更加像一门现代化的语言。C++1x 不仅仅增强了 C++ 语言自身的可用性, auto 关键字语义的修改使得我们更加有信心来操控极度复杂的模板类型。同时还对语言运行 阅读全文
posted @ 2017-08-22 10:11 曹孟德 阅读(547) 评论(0) 推荐(0)