c++如何goto到指定标签名(变量存储)

如题,比如我想用一个char变量保存标签名,goto跳转的标签以变量代替。能否实现?如:charc='p';gotoc;//c为'p’cout<<"+";p:return... 如题,比如我想用一个char变量保存标签名,goto跳转的标签以变量代替。能否实现?
如:
char c='p';
goto c; //c为'p’
cout<<"+";
p:
return 0;
展开
 我来答
草原上之狼
高粉答主

2017-10-30 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.9万
采纳率:93%
帮助的人:4081万
展开全部
goto是无条件跳转,只能在goto语句出现处改变控制流,无法通过本身返回。要用goto返回,可以定义多个label,在不同位置配合不同label使用goto语句。
label在函数内定义,作用域就是整个函数,和其它名称一样无法改变。由于不是左值,它没有生存期,仅在编译期有意义。
everyone998 错误。编译器至少会对label标识符进行语义检查。函数调用和goto是不同的。函数调用或返回时,一般的实现中需要根据调用约定清理堆栈。调用时先保存现场,复制实际参数,然后才是跳转,并不是直接无条件跳转那么简单。也因此goto语句无法跨函数跳转。
追问
打字这么多辛苦了..不过我问的似乎不是这个
我的意思是用变量保存label名
比如批处理里不是有个%%吗?
就能这么写:
set a=1
goto %a%
echo wwww
:1
exit
c++能否实现类似的东西
主要想实现读取游戏存档中的关卡
为501争光
2018-06-20 · TA获得超过138个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:117万
展开全部
没理解错的话,题主指的是用变量存储标签以动态跳转。
标签地址了解一下,
void *label = &&p;
goto *label;
cout << "+";

p:
return 0;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式