在C++中将字符串转换为宏

Convert string to Macros in C++

本文关键字:转换 字符串 C++      更新时间:2023-10-16

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

#include<iostream>
#define abc 7
using namespace std;
int main()
{
 string str = "abc";
 cout<<str<<endl;
}

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

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