这是头文件中的声明:
class PrimeSieve
{
populate(int lim);
vector<int> sieve;
long long limit;
public:
unsigned int limit();
};
Run Code Online (Sandbox Code Playgroud)
我应该在.cpp文件中还是在.h中定义访问器方法?
我是C++的新手,但我想遵循最佳实践.我在一些书中看过这个 - 这被认为是标准吗?
unsigned int limit() { return limit; };
Run Code Online (Sandbox Code Playgroud)
Ben*_*igt 11
绝对在头文件中内联写入访问器.它可以实现更好的优化,并且不会减少封装(因为对私有数据格式的更改需要重新编译包含头的所有单元).
在复杂算法的情况下,您可能希望在实现文件中隐藏定义.或者,当实现需要类定义所不需要的某些类型/头文件时.这些情况都不适用于简单的访问者.
对于单行,将其放在类定义中.稍长的成员函数应该仍然在头文件中,但可以inline在类定义之后显式声明.