|
|
1
18
我更喜欢以下惯例:
我有意避免对迭代器进行类型定义,我更喜欢将它们显式地称为:
因为迭代器已经是一个 事实上 标准类型名。我发现,在浏览代码时,footobarmacconstite实际上不太清晰。 |
|
|
2
2
对这些名字没有普遍同意的规则。我通常做的是使用带有Map后缀的“value”类的名称。在你的例子中,那将是 另一类 然后你就可以用 某类 . |
|
|
3
2
问题的第二部分对我来说是最有趣的。我宁愿把
例如,在最近的一个项目中,我们有一个名为
在这种情况下,我们最终以两种方式完成。我们创建了一个全球
描述测量 足够描述性,并且与现有名称不冲突,我们将经常使用它。
我们通常不会为迭代器创建typedef,因为简单使用它很容易(而且可读性很强)
|
|
|
4
1
我不知道是否有关于这个主题的正式规则,但我通常在最适合项目使用的位置添加type def。
至于typedef'd类型的实际名称。我把它命名为对typedef有意义的任何东西。我没有给typedef命名任何特殊约定,比如前缀为_t或任何类似于这些行的东西。例如
|
|
|
5
0
无,请记住命名标识符的一般规则(无
通常,在定义自己的模板类时,如果没有typedef,它会变得很混乱——所以我会在那里创建它们作为方便的快捷方式。然而,如果它真的是一堆课程,我宁愿在
|
|
|
6
0
我们在我的工作场所使用以下工具: typedef std::map WhateverMap; typedef WhateverMap::iterator WhateverIter; typedef WhateverMap::const_iterator WhateverCIter; 就地点而言,情况各不相同。如果它是特定于类的,那么它可能位于Impl结构中,也可能位于类声明的受保护或私有区域中。如果它更通用(跨文件使用,在API中使用),我们将它放在单独的“FooTypes.h”样式的标题中。 请注意,由于有时更改底层类型是很常见的,因此我们可以使用“WhateverCollection”而不是“WhateverVec”或“WhateverList”。根据所需的内存占用和性能特征,将“WhateverList”实际类型化为向量或slist并不少见。 |
|
|
7
0
兴趣问题:
或
为value_类型或迭代器生成typedef也是一个很好的实践,通常它们与map同名,但结尾为_value_类型,_迭代器。 |
|
|
8
0
前任:
此外,我还将它们定义为创建对象的类头中的public。这使我能够在不破坏客户机代码的情况下更改容器类型。
|
|
|
9
0
用“地图”或“向量”这个词来表示无用的符号。这些词与实现有关,而与业务模型无关。
这两个都是字符串列表。这是真的。
我的观点是不要使用匈牙利符号。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |