目前正在构建这种对象层次结构并能够使基类中的日志记录更加清晰,我决定使用某种变量或函数来返回类的类型。
例如:
class fruit {
string _type;
fruit() {
_type = "base"; // or i dont have to set it. however, it wont be inforced
}
virtual const char* type() const { return "base"; } // or just = 0 to inforce it
void function() {
log(this->type(), " tastes good");
log(this->_type, "tastes good");
}
}
class apple : public fruit {
apple() {
_type = "apple";
}
const char* type() const { return "apple"; }
}
如您所见,有两种方法,我个人认为返回值版本更清晰,因为很明显它需要实现。
然而,我的问题是什么方法是最好的?每次我记录一些东西时调用一个函数会慢很多吗?只是假设它会被优化,但我可能是错的。