gpt4 book ai didi

c++ - 是否可以在 C++ 中创建一个 int+enum?

转载 作者:行者123 更新时间:2023-11-27 23:55:30 24 4
gpt4 key购买 nike

我正在编写一个程序,使用堆栈将后缀算术表达式转换为中缀表达式。用户输入是一个字符串,它被拆分成一个数组(将空格视为分隔符)。然后是"+""-""*""/"的case语句区分运算符和操作数(即,如果它不是这些符号之一,则它是一个操作数;因此类型转换为整数)。

我想知道是否有可能创建类似于 enum 的东西,其中可接受的类型是整数,或者符号 +-*/

最佳答案

这是 std::variant 的一个很好的用例-- 或者它的分身 boost::variant .

enum class Operator : char {
plus = '+',
minus = '-',
multiply = '*',
divide = '/'
};

// Now a token can contain either an integer or an operator.
using Token = std::variant<int, Operator>;

关于c++ - 是否可以在 C++ 中创建一个 int+enum?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42861885/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com