1.函数模板
模板定义以关键字template开始,后跟一个模板参数列表,用逗号分隔一个或多个模板参数的列表,用小于号和大于号包围起来。
template <typename T>
int compare(const T &v1,const T &v2);
模板定义以关键字template开始,后跟一个模板参数列表,用逗号分隔一个或多个模板参数的列表,用小于号和大于号包围起来。
template <typename T>
int compare(const T &v1,const T &v2);
名字由operator关键字后接想要定义的运算符的符号组成,所以赋值运算符就是一个名为:operator=的函数,运算符函数也有一个返回类型和参数列表。
class Foo
{
public:
Foo& operator=(const Foo&);//赋值运算符
//...
}
shared_ptr<int> p1 = new(1024);//错误,隐式地初始化
shared_ptr<int> p2(new(1024));//正确,直接初始化形式
u.release()//u放弃对指针的控制权,返回指针,并将u置为空
u.reset(q)//释放u指向的对象,令u指向q
sort排序,unique将重复的单词放到最后,erase删除最后重复的单词
sort(words.begin(),words.end());
auto end_unique = unique(words.begin(),words.end());
erase(end_unique,words.end());