最近看了C++11的一些特性,最感兴趣的是可变模板参数,自动类型推断和匿名函数。 Loki中的TypeList,是需要递归定义的,并且需要一个NullType作为尾节点。 可变模板参数使得实现TypeList更简洁,更易懂。 以下是我用C++11实现TypeList,其实只用了可变模板参数 ...
最近看了C++11的一些特性,最感兴趣的是可变模板参数,自动类型推断和匿名函数。 Loki中的TypeList,是需要递归定义的,并且需要一个NullType作为尾节点。 可变模板参数使得实现TypeList更简洁,更易懂。 以下是我用C++11实现TypeList,其实只用了可变模板参数 ...
1概述 C++11的新特性--可变模版参数(variadic templates)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数、任意类型的参数。相比C++98/03,类模版和函数模版中只能含固定数量的模版参数,可变模版参数无疑是一个巨大的改进。然而由 ...
什么是C++0x? C++0x是C++最新标准标准化过程中的曾用名,在这一系列文章中我们将介绍最新标准添加的一系列新的语言特性。在2011年9月份,C++0x正式由官方发布并命名C++11,现在很多编译器已经支持了部分C++11特性。 C++11包括大量的新特性:主要特征像lambda表达式 ...
C++11 中,nullptr 是空指针,可用来给 (指向任意对象类型的) 指针赋值 广义整型 (integral types) = char, short, int, long, long long and their unsigned counterparts, and bool ...
【C++11空指针】 1、NULL的问题 运行结果: 2、nullptr 解决问题 早在 1972 年,C语言诞生的初期,常数 0 带有常数及空指针的双重身分。 C 使用 preprocessor macro NULL 表示空指针, 让 NULL 及 0 分别代表 ...
C++中,可调用实体主要包括函数,函数指针,函数引用,可以隐式转换为函数指定的对象,或者实现了opetator()的对象(即C++98中的functor)。C++11中,新增加了一个std::function对象,std::function对象是对C++中现有的可调用实体的一种 ...
C++11,先前被称作C++0x,即ISO/IEC 14882:2011,是目前的C++编程语言的正式标准。它取代第二版标准ISO/IEC 14882:2003(第一版ISO/IEC 14882:1998公开于1998年,第二版于2003年更新,分别通称C++98以及C++03,两者差异很小)。新 ...
【1】__cplusplus 在C与C++混合编写的代码中,常常会在头文件中看到如下形式的声明: 这种类型的头文件可以被#include到C文件中进行编译,也可以被#include到C++文件中进行编译。 关键点:由于extern"C"可以抑制C++对函数名、变量名等符号 ...