在查看某个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