C++11新特性
文章平均质量分 68
Taro的学习笔记
这个作者很懒,什么都没留下…
展开
-
C++11-容器
*# array内部就是一个数组,只是将其包装为一个容器array;使其融入STL;原创 2022-09-20 10:30:55 · 489 阅读 · 0 评论 -
C++11-从Rvalue references(右值引用)到move的设计
(1)当copy的右手边来源端是右值,那么左值可以“偷”右手边resource而不需要执行allocation;(2)左值和右值的差别:1、左值是变量;2、不能放在左手边的就是右值;(3)string是一个指针,对于string的红色测试都通过编译了,表达式s1+s2,临时对象string()都通过了!!!(4)对于complex的测试也通过了测试!!!complex没有指针哦!原创 2022-09-19 21:06:50 · 441 阅读 · 0 评论 -
c++11新特性--variadic templates(详细)
可以应用这个技巧,改变参数个数逐一减少,实现递归1)template模板代表的有函数模板和成员模板;variadic是参数,参数数量和参数类型;(2)新的关键字就是…,template;注意…在三个不同位置;原创 2022-09-19 10:49:45 · 553 阅读 · 0 评论 -
C++11—lambda表达式
]{}是一个类型;[]{}()就可以调用,相当于临时对象;多数会写成最后一种形式,赋予一个名称auto I=[]{};I();原创 2022-09-15 17:39:12 · 307 阅读 · 0 评论 -
C++11-decltype
相当于typeof,**可以获取表达式的类型;但是typeof并不是标准库的,所以C++11添加了新的关键字decltype;就像decltype(coll)::value_type elem;原创 2022-09-15 16:24:15 · 357 阅读 · 0 评论 -
type alias+noexcept+override+final
(1)typedef void(func)(int,int)说明func是一个函数指针,与下面的using func=void()(int,int)等价,但是using更加的明显,凸显func是一个类型;(2)右侧也是等效,using value_type=T等价于typedef T value_type;原创 2022-09-01 15:55:17 · 140 阅读 · 0 评论 -
c++11 explicit range
关键字explicit用于构造函数,用于防止;只有在明确调用单参数构造函数时,才使用;左侧就会发生隐式转换;explicit:明确的。原创 2022-08-09 17:23:24 · 110 阅读 · 0 评论 -
C++11 Alias Template(template typedef)化名,Alias,换一个名称
2)右侧改善,传过去的是一个对象object,修改为list(),建立一个临时对象;(1)传入的是一个容器的对象object,需要在函数中取出容器的元素类型,函数第一行首先取出容器中的iterator迭代器,然后使用迭代器萃取机提问valuetype从而获得容器内的元素类型;(1)左侧版本天方夜谈因为传入的参数是一个容器(类型),但接收的是一个容器对象object,函数体中对容器类型进行区分,不太对。(3)不能对化名,来进行特化和偏特化,还是需要。,化名只是一个名字,不代表本尊;......原创 2022-07-29 18:04:21 · 346 阅读 · 0 评论 -
C++11=default,=delete
1)=default,默认,当你自行定义了一个构造函数,那么编译器就不会再给一个defaultctor,如果强制加上=default,就可以重新使用defaultctor;(2)主要作用在构造函数,拷贝构造,搬移构造,=delete就是不要它,=deafult是要编译器默认那个;(3)在库中的=delete使用情况,如下图,主要用于构造函数,拷贝构造,拷贝赋值和析构函数;多了与搬运构造和赋值;&&与move有关;(4)=default在库中的应用,在move和copy上,下图是析构函数。...原创 2022-07-29 17:12:38 · 883 阅读 · 0 评论 -
C++11改动
1)用nullptr代替0和NULL;空指针;(2)nullptr的类型是stdnullptr_t,定义在头文件cstddef中;原创 2022-07-28 15:50:31 · 149 阅读 · 0 评论 -
C++11新特性-Variadic Templates
使用时一定要写处理最后情况的函数(1)constType&…args表明接收任意数量任意类型的参数;(2)可以帮助我们做递归操作每次取出一个参数;做一个递归结束无参数的函数,终止递归;(3)sizeof…(args)返回到底有多少个;(4)2和3可以并存吗,是可以的!...原创 2022-07-27 18:29:20 · 309 阅读 · 0 评论