我正在查看DirectX 2009年3月SDK中附带的DXUTCore项目,并注意到他们并没有编写普通的访问器方法,而是使用宏来创建通用访问器,类似于以下代码:
#define GET_ACCESSOR( x, y ) inline x Get##y() { DXUTLock l; return m_state.m_##y;};
...
GET_ACCESSOR( WCHAR*, WindowTitle );
看起来,##运算符只是将第二个参数中的文本插入宏中,以创建一个使用该文本操作变量的函数。这在C++中是否是标准的(即不是Microsoft特定的)?它的使用是否被认为是良好的实践?那么,这个运算符叫什么名字?