自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 问答 (6)
  • 收藏
  • 关注

原创 Day 8: 重载与模板

1. 重载模板语法形式如下所示template <typename T> string debug_rep(const T &t) { ostringstream ret; ret<<t; return ret.str(); }当存在多个模板实例化结果时,编译器选择最准确的和最特例化的版本(如非模板函数)2. 可变参数模板参数个数不止一个template<ty...

2018-05-17 23:16:18 114

原创 Day 7: 转发

为将一个或多个完整的实参传递给其他函数,需要继续转换。1. template<typename f,typename T1,typename T2> void flip1(F f,T1 t1,T2 t2) { f(t2,t1); } void f(int v1,int &v2){cout<<v1<<" "<<++v2<<endl;..

2018-05-16 06:02:38 114

原创 Day 6: std::move 理解

move获得一个绑定到左值上的右值引用1. 如何定义template<typename T> typename remove_reference<T>::type&& move(T&& t) { return static_cast<typename remove_reference<T>::type&&&g

2018-05-15 06:25:46 162

原创 Day 5: 函数指针和实参推断

1.(1) 用函数模板初始化函数指针template<typename T> int compare(const T&,const T&); int (*pf)(int)(const int&,const int&)=compare;//pf指向实例 (2)函数模板使函数重载void func((int*)(const int&,const in...

2018-05-14 15:30:45 150

原创 Day 4: 尾置返回类型与类型转换

1.尾置返回类型template <typename T> auto fcn(T beg,T end)->decltype(*beg)//尾置返回的作用为--使输出值为函数参数之一,但实际编译过程中用处并不大,decltype语句完全可以省略,而程序不报错 { return *beg; }2.进行类型转换的标准库模板类(强制类型转换)template<typename T&...

2018-05-14 10:45:36 192

原创 模板实参推断

一、类型转换与模板类型参数可应用于函数模板的类型转换1. 非const的引用(或指针)传递给const的引用(或指针)int i; const int &j=i; const int *p=&i; int &r=j,*q=p;//错误,存在修改const的可能2. 数组、函数指针转换int a[10]; int *r=a;//将a自动换成指向数组首元素的指针 bool le...

2018-05-12 23:00:43 188

原创 Day3: 函数模板显式实参

1. 若定义模板时,由用户控制函数返回类型,T1 compare(T2,T3);T1不存在于参数表中,系统无法从用户输入的参数中判断出返回值类型,则需要用户在使用时提前指定一个类型template <typename T1,typename T2, typename T3> T1 sum(T2,T3);//指定形式如下:auto value=sum<long long>(i...

2018-05-12 22:57:18 193

原创 C++控制实例化

显式实例化使模板实例化时,文件中形成的实例各不相同,避免了大系统中一个文件一个实例的额外开销形式如下:extern template declaration;(declaration 为类或函数声明) extern template class Blob<string>; extern template compare(const int&,const int&);则在...

2018-05-07 16:10:06 564 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除