c++ - 这个函数的返回类型是什么?

标签 c++ macros return

我把这一行放到了一个类的宏定义中

virtual const char *GetEventName() const
{
    return #classname;
}

此函数及其返回类型发生了什么?

最佳答案

如果 classname 是宏的参数之一,那么 #classname 是其值的字符串版本。因此,如果 classnameSomeType,则 #classname 将等同于 "SomeType"

因为它返回一个字符串(c 字符串),所以返回类型是 const char*

有关更多信息,请参阅 Stringification

关于c++ - 这个函数的返回类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13448308/

相关文章:

python - 递归函数返回值保留以前运行的结果

Java:从方法返回的最佳实践(通过 if 语句)

c++ - 模板模板参数不在范围内

c++ - 使用 boost::asio 配置 TCP keep_alive

c - 优雅的宏 if block

c++ - C++中的宏可以定义宏吗?

c++ - 如何在 constexpr 上下文中使用 if-constexpt 比较 string_view

c++ - 我的程序在不同的机器上给出不同的输出..!

url - 如何从 txt 文件和使用 imacro 加载 url

c++ - 在C++中,是否有返回结束父函数的嵌套函数?