更多函数讲解在175,这里只放置大众,让人注意的函数。
std::enable_if
源代码:
template<class _Ty>
struct enable_if<true, _Ty>
{ // type is _Ty for _Test
typedef _Ty type;
};
其实它和static_assert一样,都是为了编译期间检查。常用使用在函数前,表面上给个函数返回值,但之前要进行判断。
std::find
find第三个参数是value,如果要找自定义的类,只有重载函数
template <typename T>
bool operator !=(const MyClass<T>& item, T n)
{return ;}
traits编程法
|
|
typename
|
|
std::bind
这个函数是必须和function一起讲的,但是多个绑定情况就有点特殊,先列出来:
|
|
std::function
看到这个函数(表明是函数其实是对象),我只想说叼到没朋友!!!!!!
代码伺候:
|
|
reserve、resize、capacity、size
内容就不讲了,一一对应的!!!点下就好,vector和string都是一样的,只增长,2*n。
unary_function 一元函数,binary_function 二元函数
binder2nd和函数适配器是必须要他们的
++
1234567891011 template <class t>struct negate : public unary_function<t, t> {t operator() (const t& x) const {return -x;}//此const是必须的}template<class t>struct plus : public binary_funcion<t, t, t> {t operator() (constt t& x, const t& y) const {return x + y;}//此const是必须的}