发现好多情况下都会用到c++11的新特性啊。 所以稍稍总结一下,只会粗略的说,不会详细的讲…… 1.auto&decltype c++11新增关键字,类型推导。 迭代器在之前必须写得很长,比如: 而c++11只需写成: 但auto只能对变量而不能对表达式进行类型推导,所以又引入了decltype关键 ...
分类:
编程语言 时间:
2019-10-05 20:23:36
阅读次数:
97
1.nullptr 参考链接: https://blog.csdn.net/jiange_zh/article/details/79356417 ...
分类:
编程语言 时间:
2019-09-30 16:25:26
阅读次数:
100
直接根据最短distance greedy做。 用了优先队列,C++ less<type> 是大的先,所以我们可以重载<符号,把逻辑反过来。 第二种写法不用结构体,节省了空间复杂度,但是每次cmp的时候都要计算dist,但是时间会翻倍。 这里采用了 lambda funtion,注意 priorit ...
分类:
其他好文 时间:
2019-09-05 13:48:59
阅读次数:
102
decltype(..)是获得一个表达式的结果值的类型。->后的是函数的返回类型。 ...
分类:
其他好文 时间:
2019-08-31 17:27:06
阅读次数:
65
本文记录下一些c++11新特性需要注意的方面,供日后参考 一、auto auto可以当成“占位符”,根据右边的类型自动推导出变量的类型。需要注意的是 以下几种情况避免使用auto 二、decltype ...
分类:
编程语言 时间:
2019-07-21 23:58:46
阅读次数:
232
/***auto 会去掉顶层const 和 & 而decltype 不会***/ //什么是顶层? const int x=0, *ptr = x; auto i = ptr; //i is int * decltype(i) is const int * int i = 42, *p = &i, ... ...
分类:
其他好文 时间:
2019-05-18 15:53:29
阅读次数:
119
类似于sizeof操作符,decltype也不需对其操作数求值。粗略来说,decltype(e)返回类型前,进行了如下推导:1.若表达式e指向一个局部变量、命名空间作用域变量、静态成员变量或函数参数, 那么返回类型即为该变量(或参数)的“声明类型”;2.若e是一个左值(lvalue,即“可寻址值”) ...
分类:
其他好文 时间:
2019-05-18 15:34:25
阅读次数:
121
对数组的元素使用取地址符就能得到指向该元素的指针: 编译器自动讲数组名字替换为一个指向数组首元素的指针: 当数组作为一个auto变量的初始值时,推断得到的类型是指针而非数组: 使用ia作为初始值执行初始化的过程: decltype(ia)返回的类型是由10个整数构成的数组: 指针也是迭代器 允许使用 ...
分类:
编程语言 时间:
2019-05-11 18:18:07
阅读次数:
141
最近在恶补 C++ 知识的时候,学习到了一些 C++11 标准的新特性,利用这些新特性,我们能够更快地提高编程效率,从而实现我们的目标,在此特意记下学习过程中所学习到的一些东西,方便日后的回顾和复习。 auto 关键字 在我们日常编程的时候,我们常常需要把表达式的值赋给变量,需要在声明变量的时候,我 ...
分类:
编程语言 时间:
2019-04-22 00:50:37
阅读次数:
178
#include<vector>voidvectest(){std::vector<int>vi;for(inti=1;i<10;++i){vi.push_back(i);}//std::vector<decltype(vi.begin())>iter_vector;std::vector<std::vector<int>::iterat
分类:
其他好文 时间:
2019-04-14 20:38:29
阅读次数:
192