1) typedef'ing 时实际使用的约定是什么
类似
typedef std::map<SomeClass*, SomeOtherClass> [SomeStandardName>]
typedef std::map<SomeClass*, std<SomeOtherClass> > <[SomeStandardName]
2) 你通常把 typedef: 全局头文件放在类的地方吗?
3) 你是 typedef 迭代器还是 const map<> 版本?
4) 假设您有两个不同概念使用的映射,您是否为它们创建了两个单独的 typedef?
typedef map<string, SomeClass *> IDToSomeClassMap;
typedef map<string, SomeClass *> DescriptionToSomeClassMap;
谢谢
编辑#1
我对 typedef STL 映射特别感兴趣,例如
typedef map<int, string> IdToDescriptionMap
或
typedef map<int, string> IdToDescription
什么是常见的做法?
最佳答案
我更喜欢以下约定:
typedef std::map< Foo, Bar > FooToBarMap
我故意避免对迭代器进行类型定义,我更喜欢明确地将它们称为:
FooToBarMap::const_iterator
因为迭代器已经是事实上的标准类型名。我发现 FooToBarMapConstIter 在略读代码时实际上不太清楚阅读。
关于c++ - typedef 复杂 STL 映射时的命名约定是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/761655/