在满足Sequence概念的自定义STL类中应该定义的最小嵌套类型定义集是什么?自定义的顺序应该是兼容:自定义STL序列的最小嵌套类型定义集?
3
A
回答
5
C++标准说,所有的容器必须具有下列的typedef(C++ 03 23.1 /表65):
value_type
reference
const_reference
iterator
const_iterator
difference_type
size_type
可逆容器必须具有下列的typedef(C++ 03 23.1 /表66):
reverse_iterator
const_reverse_iterator
0
我想出了这个程序,找出一套极小子嵌套类型定义的:
#include <iostream>
#include <iterator>
#include <vector>
#include <boost/foreach.hpp>
#include <boost/range/algorithm/sort.hpp>
struct Foo
{
typedef std::vector<int> Vec;
typedef Vec::const_reference const_reference;
typedef Vec::iterator iterator;
typedef Vec::const_iterator const_iterator;
iterator begin() {return vec.begin();}
iterator end() {return vec.end();}
const_iterator begin() const {return vec.begin();}
const_iterator end() const {return vec.end();}
void push_back(const int& n) {vec.push_back(n);}
Vec vec;
};
int main()
{
Foo f;
std::back_insert_iterator<Foo> it(f);
*it = 2; ++it; *it = 1; ++it;
boost::sort(f);
BOOST_FOREACH(int x, f)
{
std::cout << x << " ";
}
}
如您所见,至少需要const_reference
,iterator
和const_iterator
。
我应该提到,我编译了这个gcc 4.4.3和boost 1.43。
相关问题
- 1. NETJson,如何序列化自定义类型集合中的自定义类型
- 2. PHP主义:自定义嵌套集?
- 3. gson嵌套自定义序列化器
- 4. STL与自定义数据类型
- 5. 自定义类型的小巧阵列
- 6. 存储阵列自定义类的嵌套自定义类来standardUserDefaults
- 7. web api 2嵌套类的自定义模型联编程序。
- 8. c#使用嵌套类反序列化自定义类
- 9. C#序列化嵌套自定义类列表
- 10. 排序自定义类型的列表
- 11. 自定义排序的嵌套文档
- 12. 使用嵌套类型定义指令
- 13. 嵌套模板typedef - 类型定义
- 14. Kryo序列化与嵌套HashMap与自定义类
- 15. 嵌套自定义元素
- 16. 自定义嵌套路线
- 17. Sass:&定义嵌套类时
- 18. 序列化类型定义?
- 19. 反序列化自定义JsonConverter中的嵌套对象列表
- 20. python(内置)使用嵌套自定义类型的json de/serilazation
- 21. NetSuite创建自定义类型的自定义列表
- 22. 自定义类型
- 23. 户外自定义数据列表表格嵌套集合
- 24. 自定义模型绑定器来绑定嵌套属性值
- 25. 类型定义中的嵌套类型参数
- 26. 类定义自定义排序顺序
- 27. NHibernate自定义集合类型
- 28. 亚音速自定义集合类型
- 29. 嵌套ACF JSON数据与自定义后类型
- 30. UWP:使用DataContractJsonSerializer嵌套自定义类型
什么使用const_reference? – 2011-01-28 01:08:39