下面的MACRO在做什么?

What is the following MACRO doing?

#define DEFINE_VECTOR_MEMBER_DATA_S(T,c,n,s)    T c ## :: ## n[s]

我在遗留代码中有它。它由 MSVC 2022 编译,但不使用 Clang。 我打算更换它,但在更换之前我需要知道它的作用。

它定义了一个向量,它是class的静态成员。

输入T.
Class c.
矢量名称 n.
矢量的大小 s.

## 将 2 个部分粘贴在一起,但无论如何都不需要。

如果链接器说缺少向量,只需添加:

T c::n[s];

进入 .cpp 文件并相应地替换部分。