gpt4 book ai didi

大小写内的 C++ 类型转换常量字符串

转载 作者:行者123 更新时间:2023-11-28 02:28:34 24 4
gpt4 key购买 nike

我想使用我的程序中已经定义的字符串字符在开关盒内。

为了清楚起见,我的定义看起来像这样

#define COMMAND "c"

在不同的部分,我想在案例陈述中使用这个标志。

switch ( sign )
{
case COMMAND:
break;
....
}

我知道这是不允许的,但是有什么方法可以将它转换为一个字符(无论如何它只是一个字符)?我面临的问题是,编译器随后提示说它不再是常数...

谢谢!

最佳答案

你为什么不把它定义成你想要的?像这样

#define COMMAND 'c'

但是等等...应该尽可能避免使用宏,您以前没听说过吗?所以也不要那样做。改为这样做:

 constexpr char command = 'c';

或者如果你有多个命令,那么枚举可能会更好:

 enum class command_type : char
{
command0 = 'c',
command1 = 'd',
command2 = 'e',
//..
};

关于大小写内的 C++ 类型转换常量字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29692561/

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