Yak*_*kov 7 c++ stl operators assignment-operator assign
vector(以及list其他容器)具有成员函数(MF)assign.我想比较assignMF(范围版本)与赋值运算符.
据我所知,在以下情况下使用是有用的assign:
在其他情况下,assignMF 没有缺点,可以使用赋值运算符.我对吗?使用assignMF 还有其他一些原因吗?
使用的主要原因assign是将数据从一种类型的容器复制到另一种容器.
例如,如果要将a的内容迁移std::set<int>到a std::vector<int>,则不能使用赋值运算符,但可以使用vector.assign(set.begin(), set.end()).
另一个例子是复制两个容器的内容,这两个容器具有可转换为一个或另一个的不同类型; 如果尝试分配std::vector<Derived*>给a std::vector<Base*>,则赋值运算符不足.
| 归档时间: |
|
| 查看次数: |
1361 次 |
| 最近记录: |