适当使用typedef以避免“typedef污染”

时间:2014-12-31 09:35:31

标签: c++ typedef

我正在为更大范围的项目开发某些功能以及"功能"我正在研究的是一些课程,这些课程可以在主项目中全局使用某些功能。

为了便于阅读,我在我的类中输入了一些常用(和冗长)类型,以便在我的课程中使用。由于大多数这些类型相对常见且可能与其他含义一起使用,因此我不希望我的typedef泄漏到可能使用不同typedef的主项目中。

确保我的typedef的最佳方法是"干净利落的"定义而非污染" (我不确定这个术语是否也用于typedef)项目的一般typedef池?

到目前为止,我只想让每个类都使用typedef私有,并且基本上在我的类中重新定义了typedef。我想,听起来不太好吗?

2 个答案:

答案 0 :(得分:0)

我建议您使用命名空间。所以不要输入:

typedef int my_project_my_int;

你输入

namespace my_project {
    typedef int my_int;
}

并将其称为my_project::my_int

在同一命名空间中定义的类中,您可以将其称为my_int。如果您想引用同事类型,可以随时使用his_project::my_int

如果您是偏执狂,请将其称为::my_project::my_int::his_project::my_int

答案 1 :(得分:0)

  • 您可以限制名称空间中的相关typedef
  • 您可以将仅在1个班级中使用的typedef用于该班级。
  • 如果只在少数文件中使用typedef,请在.cpp文件中添加typedef。