![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 354 阅读 · 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 · 712 阅读 · 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 · 536 阅读 · 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 · 539 阅读 · 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 · 236 阅读 · 0 评论