我想问一下在C++项目中广泛使用的最佳实践。 我需要在项目中拥有自己的类型,这是一组typedef。
在C++中,包含定义类型的头文件是否是良好的做法,还是更好地使用命名空间。 如果是这样,为什么? 这两种方法的优缺点是什么?
现在看起来像这样:
types.h:
#ifndef TYPES_H
#define TYPES_H
#include <list>
// forward declaration
class Class;
typedef int TInt;
// ...
typedef std::list<Class> class_list;
#endif
class.h:
#ifndef CLASS_H
#define CLASS_H
#include "types.h"
class Class
{
public:
// ...
TInt getMethod();
private:
// ...
};
如果使用命名空间,它会是什么样子?