【发布时间】:2013-08-01 18:02:21
【问题描述】:
#include "d3dApp.h"
#include <WindowsX.h>
#include <sstream>
namespace
{
// This is just used to forward Windows messages from a global window
// procedure to our member function window procedure because we cannot
// assign a member function to WNDCLASS::lpfnWndProc.
D3DApp* gd3dApp = 0;
}
LRESULT CALLBACK
MainWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
// Forward hwnd on because we can get messages (e.g., WM_CREATE)
// before CreateWindow returns, and thus before mhMainWnd is valid.
return gd3dApp->MsgProc(hwnd, msg, wParam, lParam);
}
我对 C++ 中命名空间的这种使用感到好奇。我开始阅读有关命名空间的文档,我看到很多示例调用命名空间的名称,例如“命名空间优先”,但在命名空间声明之后没有任何例子。
【问题讨论】:
-
这里有问题吗?
-
这是一个未命名的命名空间stackoverflow.com/questions/154469/…
-
我认为这是一个匿名命名空间。我记得有人告诉我上面是 C++ 实现全局变量非外部链接的方式(而在 C 中你声明它们
static)。
标签: c++ namespaces