gpt4 book ai didi

C++ - 将运算符存储为 char

转载 作者:太空宇宙 更新时间:2023-11-04 14:50:32 25 4
gpt4 key购买 nike

奇怪的是我知道,但是可以通过某种方式实现类似下面的东西吗?

int main (int argc, char * const argv[]) 
{
const char* op1="+";
int i = 10;
int j = 20;
int k = i op1 j; //compiler error, expected , or ; before op1

printf("k is: %i", k);
}

最佳答案

当然,这很容易...

template <class T>
T execute_operator(T a, string op, T b)
{
static unordered_map<string, function<T(T,T)>> operators =
{
{ "+", [](T a, T b) { return a + b; } },
{ "-", [](T a, T b) { return a - b; } },
etc
};

return operators[op](a,b);
};

int main (int argc, char * const argv[])
{
const char* op1="+";
int i = 10;
int j = 20;
int k = execute_operator(i,op1,j);

printf("k is: %i", k);
}

关于C++ - 将运算符存储为 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9863366/

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