Qt';s moc/C++11具有C#';s的name of()运算符

本文关键字:of name 运算符 C++11 moc Qt 具有 | 更新日期: 2023-09-27 17:58:31

Qt的moc/C++11是否具有C#的nameof()运算符的等价项?Qt有moc系统,它正在进行某种反射,但我不知道如何获得像C#的nameof()这样的变量名。这可能吗?

Qt';s moc/C++11具有C#';s的name of()运算符

如果您的编译器支持C++17,那么这个库应该可以执行您想要的一切:https://github.com/Neargye/nameof

请参阅图书馆作者的更多示例https://www.reddit.com/r/cpp/comments/b3spr5/nameof_operator_for_modern_c_simple_name_of_a/

这在C++11中是不可能的,因为只有在语言/编译器支持的情况下才能实现。它也与反射(在运行时)无关,因为它在编译时为您提供了标识符的名称。