关于C stl容器元素的要求,标准说:元素类型应为CopyConstructible,并且有一个用于CopyConstructible要求的表.也可以通过各种书籍(Josuttis等),生成的副本应该是“等同于”的源码.
我想我在这里需要一些清晰度.什么是“相当于”?另外我有点与“CopyConstructible”和“深/浅拷贝”之间的关系混淆.一般来说,复制构造函数是浅拷贝或深层拷贝.那么哪一个适用于“CopyConstructible”,哪个不?
感谢任何意见!
解决方法
深或浅复制两个工作.例如,shared_ptr总是做一个浅层拷贝(有一些额外的引用计数的东西),你可以在容器里使用它们.这取决于复制操作的语义.
等同意味着您的程序不应该依赖于它是否与原始文件或副本一起使用.