只是想出这个问题。任何提示?是否有任何不能用于STL的C++类?
回答
无法复制的类。 STL容器要求对象可复制,因为容器拥有该对象的副本,并且需要能够移动它。
尽管*指针*(和智能指针)到无法复制的类都可以。 – 2010-03-18 05:28:53
除了'std :: auto_ptr'。不要这样做!虽然'std :: tr1 :: shared_ptr'没问题。 – Nate 2010-03-22 19:30:45
根据您执行的操作,除了可以为存储在容器中的对象进行复制之外,您通常还需要一个默认构造函数。对于传递给算法的对象,还有其他要求,例如可调用或可增量。这些要求是有据可查的。
我最不喜欢放入STL容器的东西是std :: auto_ptr ...非常糟糕的事情发生。 ..大多数意想不到的失去我认为的对象。
一般来说,任何不可复制的东西都不能进入容器 - 你会得到编译错误。异常复制语义(如auto_ptr)的东西不应该放在容器中(但你可能不会得到任何编译器错误)。由于容器可以自由创建各种临时副本。
我认为,没有一个“理智”的默认构造函数和赋值运算符,你也有一些痛苦。
类的析构函数可能不会抛出异常......以及无级永远应该在析构函数
依赖于容器,以获取更多信息的扔,该标准的第23条规定了所有容器的要求,方法。
为了安全起见,虽然,你应该假设如下始终要求: 默认构造和拷贝建设
- 1. 在C++ stl中是否有任何三态类型?
- 2. 对于C(C99或其他),是否有任何标准化和常用的库,因为STL是用于C++的?
- 3. 是否有任何有效的用于Java的2D ArrayList类?
- 4. 是否有可能在C++类上执行任何GUI操作
- 5. 是否有一个C++等价于Java的STL容器类的Collection接口?
- 6. 是否有任何c编译器实现任何C1X功能?
- 7. 是否有任何用于C++的Lua表迭代器封装?
- 8. 是否有可用于NSSpeechSynthesizer Cocoa类的任何语言绑定?
- 9. 使用Flask-Bootstrap是否有任何类型的性能问题?
- 10. 是否有一个C#等价于STL输出迭代器?
- 11. 是否有任何具有ScaleGestureDetector和GestureDetector功能的类?
- 12. 是否有任何C++代码可用于查看XPS文档?
- 13. C++:是否有任何理由使用uint64_t,而不是size_t
- 14. 从C#中使用类型后缀是否有任何性能收益?
- 15. 是否有任何函数对象在STL中创建对象?
- 16. 是否有可能在C#中使用类似于C++的泛型?
- 17. STL中是否有dereference_iterator?
- 18. 是否有关于PHP XMLWriter功能的任何资源?
- 19. 是否有任何基于ASP.net C#的开源支付网关?
- 20. 是否有任何C#等价于Perl的LWP :: UserAgent?
- 21. 是否有任何基于类瓶的视图
- 22. 是否有任何HyperLogLog类似于多个multisets的结构?
- 23. Javascript中是否有任何类似于PHP中的__FILE__变量?
- 24. 在C++中是否有任何开源的高性能IPC类msg总线库?
- 25. 是否有可能#include在C++类中?
- 26. 是否有可能...是否有任何教程可用..用于构建没有Visual Studio的SharePoint插件
- 27. 是否有用于C或C++的任何跨平台gzip处理器库?
- 28. 是否有可能Server.MapPath页面类中的任何其他bau?
- 29. 在C#中的验证类中是否有任何烘焙?
- 30. 是否有任何替代类似的NameValueCollection集合在C#
你的意思STL容器? – Naveen 2010-03-18 05:27:20
是的。 __________ – kennytm 2010-03-18 06:25:55