最近研究Boost看到assign这个用来给容器复制的库,感觉挺好玩的,就自己手动实现了一遍。代码有点点臃肿,而且没有把所有东西实现完。但是目前足够了。
毕竟只是模仿,而且蒟蒻还是一个初窥博大精深的C++的菜稽,在效率和实用性上没有太考虑……
下面放一下实现效果
namespace assign {...}
// 细节请看剪切板
int main()
{
using namespace assign;
vector<int> V;
queue<int> Q;
map<string, int> M;
// 各个容器表现:
V += 1, 2, 3, 4 ,5;
for (int i : V)
{
cout << i;
// 输出结果为 12345
}
cout << endl;
Q += 1, 3, 4;
while (Q.size())
{
cout << Q.front();
Q.pop();
// 134
}
cout << endl;
M +=
make_pair("1", 1),
make_pair("2", 2);
for (auto i : M)
{
cout << i.second;
// 12
}
}
剪切板链接
只是对那些成天跟STL打交道并且想开始大工程的人有点用,对于本蒟蒻而言完全没用……