我写了一个协议
协议中每个命令的前6个字母为命令名称,在服务端我想这样:
switch(s.left(6))
{
case "XXXXX1":
do something;
break;
case "XXXXX2":
do something;
break;
...
}//以上伪代码,请不要纠结细节问题。只想实现类似功能c++支持这样的用法吗?因为命令很多,如果用if语句写代码不方便。请问如何解决?给思路就成。请教-谢谢!
D.G.
协议中每个命令的前6个字母为命令名称,在服务端我想这样:
switch(s.left(6))
{
case "XXXXX1":
do something;
break;
case "XXXXX2":
do something;
break;
...
}//以上伪代码,请不要纠结细节问题。只想实现类似功能c++支持这样的用法吗?因为命令很多,如果用if语句写代码不方便。请问如何解决?给思路就成。请教-谢谢!
D.G.
语句只支持整型兼容的参数.
所以字符串不能作为分支判断参数了.
如果不希望使用多个if else的话.
可以考虑建立一个str到int的map
先根据字符串取得一个整型兼容的值.然后使用switch语句