C++
文章平均质量分 76
liqinghua1653
这个作者很懒,什么都没留下…
展开
-
深入浅出C++11(1)
C++标准C++真正正式公布的标准就三个:C++98: 第一个正式C++标准;C++03: 在C++98上面进行了小幅度的修订;C++11: 一次全面的大进化(之前称C++11为C++0x,以为会在08~09年公布,没想到拖到了11年)。注1: 其实C++在第一个标准C++98之前就已经广为使用了。只不过那时候还没有一个官方的统一标准,后来才开始起草标准草案,原创 2013-10-04 15:12:47 · 1643 阅读 · 0 评论 -
深入浅出C++11(2) -- C++核心语言的扩充
C++核心语言的扩充C++委员会的主要焦点是在语言核心的发展上。核心语言将被大幅改善的领域包括多线程(或称为“多线程”)支持、泛型编程、统一的初始化,以及性能表现的加强。在此分成4个区块来讨论核心语言的特色以及变更: 运行期表现强化、建构期表现强化、可用性强化,还有新的功能。某些特色可能会同时属于多个区块,但在此仅于其最具代表性的区块描述该特色。核心语言的运行期表现强化原创 2013-10-04 15:27:27 · 1443 阅读 · 0 评论 -
深入浅出C++11(5)-- Lambda函数与表示式
先来看个例子:原创 2013-10-05 15:59:44 · 1506 阅读 · 0 评论 -
深入浅出C++11(3) -- 右值引用和move语义
右值引用什么是lvalue, 什么是rvalue?lvalue: 具有存储性质的对象,即lvalue对象,是指要实际占用内存空间、有内存地址的那些实体对象,例如:变量(variables)、函数、函数指针等。rvalue:相比较于lvalue就是所谓的没有存储性质的对象, 也就是临时对象。也可以这样理解: lvalue: 通过它能够找到内存中存放的变量(lo原创 2013-10-04 20:49:03 · 8968 阅读 · 3 评论 -
深入浅出C++11(4)-- 泛化的常数表示式
C++ 规格要求使用常数表示式, 数组大小的定义上,以及枚举值(enumerator values)都要求必须是常数表示式:int getCount(){ return 5;}const int count1 = 5;const int count3 = getCount();int count2 = 5;int a1[5];int a2[coun原创 2013-10-05 10:23:20 · 2368 阅读 · 0 评论 -
深入浅出C++11(6)-- 外部模板
为什么需要外部模板先来看一个例子://fun.htemplate void fun(T t){}//use1.cppvoid test1(){ fun(1);}//use2.cppvoid test2(){ fun(1);}fun.h定义了模版函数fun, 在use1.cpp和use2.cpp中都使用了该模版函数,在编译这两个cpp文件时需要分别实例化,原创 2013-10-05 19:40:47 · 5872 阅读 · 0 评论 -
深入浅出C++11(7)-- 类型推导
在标准 C++(和 C ),使用参数必须明确的指出其类型。然而,随着模版类型的出现以及模板元编程的技巧,某物的类型,特别是函数定义明确的返回类型,就不容易表示。在这样的情况下,将中间结果存储于参数是件困难的事,可能会需要知道特定的元编程程序库的内部情况。C++11 提供两种方法缓解上述所遇到的困难。首先,有被明确初始化的参数可以使用 auto 关键字。这会依据该初始化子(ini原创 2013-10-06 15:33:04 · 2465 阅读 · 0 评论