在查看某個Web服務器的某些現有代碼時,我看到服務器類有一個main.cc
文件和另一個server.h
和server.cc
對。C++中服務器實例的全局變量
// main.cc
#include "server.h"
int main() {
foo::server = new foo::Server();
server->Serve(); // runs forever
}
// server.cc
namespace foo {
Server *server;
// class member definitions ...
}
是不是有一個很好的理由不要在主要定義foo::Server *server
?
這種編碼風格的優缺點是什麼?
經驗法則:如果實際上不需要全局變量或指針,則不要使用全局變量或指針。 – 2012-04-10 19:55:29