2

我正在阅读.cpp试图弄清楚一些事情并遇到这样的代码:

some_function()
{
    CustomClass some_sort_of_list;
    string sample;
    if (sample != "") {
        some_sort_of_list = @BOING(args);
    }
}

有没有人见过@操作符,或者它只是#define在某个头文件中的某个地方使用过?我无权访问标题。

由于@Captain Obvlious 提到了 Visual C++ 的早期版本,我将在那里查看发生了什么......

PS:我还应该提一下,以防不够明显,名称已更改,因为我不知道我是否有共享此来源的许可。主要问题是@SOMETHING.

PPS:评论是日文的,我对原作者的访问权限有限。

4

1 回答 1

3

这不是标准的 C++,它甚至不合法,#define因为它们不允许以@.

它可能是通过某种预处理器运行的东西,比如 Oracle 的 Pro*C 编译器,它可以EXEC SQL在传递给实际的C 编译器之前转换为 C 函数调用。

最好的办法是考虑此代码运行的环境,例如“它是一个国际化的应用程序,@GEN可以在其中检索特定于语言环境的字符串以进行输出吗?”。

而且,既然你提到评论是用日语写的,你至少应该试试谷歌翻译。它有时会导致复杂短语的欢闹,但它很可能会为您提供所需的线索。

于 2013-06-18T04:55:58.340 回答