c++11/14
文章平均质量分 90
华衣在盛
这个作者很懒,什么都没留下…
展开
-
c++11/14新特性解读之五 (auto,decltype 类型推导)
首先介绍下typeid,c++的运行时类型识别(RTTI)机制是为每个类型产生type_info类型的数据,typeid就会返回变量相应的type_info数据。type_info的name成员函数可以返回类型的名字,hash_code成员函数返回该类型唯一的哈希值,以供程序员对变量的类型随时进行比较。class A {};class B {};struct C {};int main(){ int i; A a1; A a2; B b; C c; cout << typ原创 2020-06-30 18:34:56 · 344 阅读 · 0 评论 -
c++11/14新特性解读之四(lambda与仿函数,lambda与STL)
lambda首先定义一下lambda函数的语法定义:[capture] mutable ->return-type(statement)其中,[capture]:捕捉列表,[]是lambda引出符。编译器根据引出符判断接下来的代码是否是lambda函数。捕捉列表能够捕捉上下文的变量以供lambda函数使用。具体的方法见下文中会描述。(parameters):参数列表。与普通函数参数列表一致。如果不需要传递参数,则可以连同()一起省略。mutable:修饰符。默认情况下,lambda函数总是原创 2020-06-28 14:36:30 · 701 阅读 · 0 评论 -
c++11/14新特性解读之三(=default,=delete)
对于c++的一个空的类,例如class Foo{}实际上编译的时候编译器会给这个类加上默认的如下的几个函数:1、默认构造函数2、默认析构函数3、默认拷贝函数4、默认移动拷贝函数5、默认赋值函数6、默认移动赋值函数即:class Foo{ Foo(); // 默认构造函数 ~Foo(); // 默认析构函数 Foo(const Foo& foo); // 默认拷贝函数 Foo(Foo&& foo); // 默认移动拷贝函数 Foo& oper原创 2020-06-23 14:58:40 · 515 阅读 · 0 评论 -
c++11/14新特性解读之二 explicit关键字
对于多个参数的明确的构造函数-在构造函数前加explicit关键字首先举例说明explicit关键字的用法:未加explict:struct Complex{ int real, ima; Complex(int re,int im=0):real(re),ima(im) { cout << "re=" << real << " ima=" << ima << endl; } Complex operator + (con原创 2020-06-22 20:34:48 · 522 阅读 · 0 评论 -
c++11/14新特性解读之一(Variadic Template)
例一:void print(){}template<typename T,typename...Types>print(const T& firstArg,const Types&... agrs) // ...agrs是一包{ cout << firstArg << endl; // 打印第一个参数 print(args...);}void main(){ print(7.5, "hello", bitset<16>原创 2020-06-18 15:26:40 · 218 阅读 · 0 评论