我寫了一個非常簡單簡單的日誌類遊戲即時消息只寫在終端中查看一些信息。但是我這樣做的方式讓我感到困惑,因爲我覺得它效率太低。每次我記錄它的構造函數和析構函數都會被調用。因此,如果我想打印當前幀速率(例如60fps),則cont/desct被稱爲每秒60次(每秒創建並銷燬60個日誌對象)。我不想在每次我想記錄某些東西時都在遊戲中傳遞一個日誌對象,我不想使用signletons。有沒有更好的解決方案。C++日誌類效率低下?
#include <iostream>
#include <sstream>
class Log
{
public:
Log() : os()
{
}
~Log()
{
fprintf(stderr, "%s\n", os.str().c_str());
}
std::ostringstream &Write()
{
os << "from log class: " << 1337 << "\t";
return os;
}
private:
std::ostringstream os;
};
int main(int argc, char *argv[])
{
Log().Write() << "Hello world " << 45;
return 0;
}
你知道靜態類嗎? –
@AndreasHenning在C++中沒有靜態類。 –
但有靜態方法。 –