【问题标题】:Convert string to Macros in C++ [closed]在 C++ 中将字符串转换为宏 [关闭]
【发布时间】:2018-03-20 09:44:47
【问题描述】:

我想通过字符串打印我的宏的值 给定代码

#include<iostream>
#define abc 7

using namespace std;

int main()
{
 string str = "abc";
 cout<<str<<endl;
}

如果我做 cout str,输出应该是 7

【问题讨论】:

  • 既然宏只是被它们的值替换了,那么cout&lt;&lt;abc&lt;&lt;endl;
  • 问题是 - 我将从文件中读取 str 值,并且该文件中会有多个宏
  • 不好的问题(非常不清楚),缺少一些MCVE。你可以考虑一些X macro

标签: c++ string macros


【解决方案1】:

你不能。宏扩展发生在实际编译之前的早期翻译阶段。这意味着您的要求无法在 C++ 中实现。但std::map(或std::unordered_map)是一种关联容器实现,可用于在运行时转换字符串

【讨论】:

    猜你喜欢
    • 2014-03-15
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    相关资源
    最近更新 更多