标准库中除拷贝赋值和移动赋值运算符外,还有花括号赋值运算符
class StrVec
{
public:
StrVec &operator=(std::initializer_list<std::string>);
};
StrVec &StrVec::operator=(initializer_list<std::string> i1)
{
auto data = alloc_n_copy(i1.begin(), i1.end());
free();
elements = data.first;
first_free = cap = data.second;
return *this;
}复合赋值运算符
最好定义在类的内部,并返回引用

京公网安备 11010502036488号