码迷,mamicode.com
首页 > 编程语言 > 详细

C++ Primer笔记 模板

时间:2014-09-16 23:46:41      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:c++

1 函数模板 
template <typename T>
T compare(const T & v1,const T &v2)
{
return ..
}


编译器承担了为每种类型编写函数的单调工作.


inline 
template<typename T> inline T min(const T&,const T&)


2 类模板 
template<class T>
class Q{
 T fun();
}


3. 形参屏蔽外部变量
   模板形参不能在内部重新定义
   模板的声明和定义名字可以不相同


4
 template <clas Parm,class U>
  Parm fcn(Parm& array,U value)
 {
typename Parm::size_type *p;//不知道size_type是否为类型的时候最好加上typename
  }


5 非类型模板形参
 template<class T,size_t N>
 void array(T (&parm)[N]){}
 
 调用:
 int x[42];
array_init(x);// = array_init(int (&)[42]);


6 形参为引用时,数组不能转换为指针


7 显示指定实参


 template<class T1,class T2, classs T3>
 T3 func(T2,T1)
 long func<long ,int ,long >(int,long);


8 类外定义模板


 template <class Type> void Queue<Type>::destroy(){}


9 类模板中的友元函数声明
 template<class Type> class Bar{
   template<class T> friend class FooBar;
   template<class T> friend void fun();
}


10 模板static 不同类型 不同的copy内存

C++ Primer笔记 模板

标签:c++

原文地址:http://blog.csdn.net/cq361106306/article/details/39324729

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!