C++11

在编程思想上,C++11依然遵从了一贯的面向对象的思想,并深入加强了泛型编程的支持。从我们的观察来看,C++11更多的是对步入“成熟稳重”的中年时期的C++的一种改造。当然,C++11中也有局部的创新,比如lambda函数的引入,以及原子类型的设计等,都体现了语言与时俱进的活力。语言的诸多方面都在C++11中再次被锤炼,从而变得更加合理、更加条理清晰、更加易用。

C++11 SFINEA规则

obama阅读(715)评论(0)赞(0)

C++11 SFINEA规则,在C++模板中,有一条著名的规则,即SFINEA - Substitution failure is not an error,中文直译即是“匹配失败不是错误”。更为确切地说,这条规则表示的是对重载的模板的参数...

C++11 模板的别名

obama阅读(587)评论(0)赞(0)

C++11 模板的别名,在C++中,使用typedef为类型定义别名。比如: typedef int myint; 就定义了一个int的别名myint。当遇到一些比较长的名字,尤其是在使用模板和域的时候,使用别名的优势会更加明显。比如: t...

C++11 内联名字空间

obama阅读(550)评论(0)赞(0)

C++11 内联名字空间,在老式的C语言编程的实际项目中,我们常会需要一个“字典”来记录程序中所有的名字。这是由于C中所有的非静态全局变量、非静态的函数名都是都是全局共享的。那么对于多个程序员合作编程而言,总是需要知道自己给变量函数取的名字...

C++11 用户自定义字面量

obama阅读(882)评论(0)赞(0)

C++11 用户自定义字面量,在C/C++程序中,程序员常常会使用结构体或者类来创造新的类型,以满足实际的需求。比如在进行科学计算时,用户可能需要用到复数(通常会包含实部和虚部两部分)。而对于颜色,用户通常会需要一个四元组(三原色及Alph...

C++11 非受限联合体

obama阅读(1063)评论(0)赞(0)

C++11 非受限联合体,在C/C++中,联合体(Union)是一种构造类型的数据结构。在一个联合体内,我们可以定义多种不同的数据类型,这些数据将会共享相同内存空间,这在一些需要复用内存的情况下,可以达到节省空间的目的。不过,根据C++98...

C++11 POD类型|酷客网

C++11 POD类型

obama阅读(731)评论(0)赞(0)

C++11 POD类型,POD是英文中Plain Old Data的缩写。POD在C++中是非常重要的一个概念,通常用于说明一个类型的属性,尤其是用户自定义类型的属性。POD属性在C++11中往往又是构建其他C++概念的基础,事实上,在C+...

C++11 列表初始化

obama阅读(702)评论(0)赞(0)

初始化列表 在C++98中,标准允许使用花括号”{}”对数组元素进行统一的集合(列表)初始值设定,比如: int arr[5] = {0}; int arr[] = {1, 2, 3, 4} ; 这些都是合法的表达式...

C++11 显式转换操作符

obama阅读(594)评论(0)赞(0)

C++11 显式转换操作符,在C++中,有个非常好也非常坏的特性,就是隐式类型转换。隐式类型转换的“自动性”可以让程序员免于层层构造类型。但也是由于它的自动性,会在一些程序员意想不到的地方出现严重的但不易被发现的错误。我们可以先看看代码清单...

C++11 委派构造函数

obama阅读(858)评论(0)赞(0)

C++11 委派构造函数,与继承构造函数类似的,委派构造函数也是C++11中对C++的构造函数的一项改进,其目的也是为了减少程序员书写构造函数的时间。通过委派其他构造函数,多构造函数的类编写将更加容易。 首先我们可以看看代码清单3-9中构造...

C++11 继承构造函数

obama阅读(655)评论(0)赞(0)

C++11 继承构造函数,C++中的自定义类型—类,是C++面向对象的基石。类具有可派生性,派生类可以自动获得基类的成员变量和接口(虚函数和纯虚函数,这里我们指的都是public派生)。不过基类的非虚函数则无法再被派生类使用了。这条规则对于...

C++11