当前位置: 首页 > article >正文

关于SwitchCase中变量定义及使用变量的一些注意事项参数传递参数时不能实现多态动态绑定的问题c++语法

关于SwitchCase中变量定义及使用变量的一些注意事项参数传递参数时不能实现多态动态绑定的问题c++语法

  • 说明(废话)
  • 问题解决方案
    • 问题1 case中不能定义变量
    • 多态函数动态传绑定的问题
  • 总结

说明(废话)

用了这么多年的c++,有些语法上的问题真的让人很难办,有的问题出现的让人很**
我先说明,我使用的是vs2019,默认是c++14
如果您没有问题,也无须纠结,可能c++版本不同,就请当个笑话看看…

问题解决方案

问题1 case中不能定义变量

好吧,其实这也算是个问题,毕竟我需要把变量定义在Switch外面,感觉很麻烦不说,有时候我就是想要把变量定义在case里面。

switch (value) {
case 1:
int x = 10; // 不合法,不能在这里定义变量
break;
// …
}

应该这样:
大括号括起来是可以定义变量的!

switch (value)
{
case 1:
{
int x = 10;
// 使用x…
break;
}
// …
}
但是咧,又会引起新的问题…

多态函数动态传绑定的问题

class people;
class man:public people;
class woman:public people;
这里只是为了说明问题,并不能保证语法完整正确哈。

people *p=null;
switch (value)
{
case 1: {
p = new man;//这是没有问题
auto man = new man;//这样是有问题的
p=man;//这样传递不行
}
}

总结

就是为了避免在case中定义子类实例,再传递出去,这样可能会引起莫名其妙的问题。

希望对大家有帮助!

编辑:myhappyandy


http://www.kler.cn/a/382404.html

相关文章:

  • 制作gif动图并穿插到CSDN文章中
  • 【办公类-04-04】华为助手导出照片视频分类(根据图片、视频的文件名日期导入“年-月-日”文件夹中,并转移到“年-月”文件中整理、转移到“年”文件夹中整理)
  • 计算机视觉算法真的难学吗?这些技巧让你轻松掌握
  • vue3 setup写不写到标签上的区别
  • Angular引用控件类
  • 页面上的内容的生成图片后,保存为word,并下载
  • 基于C#实现Windows后台窗口操作与图像处理技术分析
  • 【Linux】从零开始使用多路转接IO --- select
  • 时间段比较与 SQL 实现:交集、并集与补集
  • 盘点10款录音转文字工具,帮你开启高效记录。
  • docker 常用方法
  • qt QColorDialog详解
  • 数组逆序重存放
  • 【无人机设计与控制】改进无人机三维路径规划(蜣螂优化算法)Matlab程序
  • 前端react面试基础知识(II)
  • 【算法】Floyd多源最短路径算法
  • 【Linux】用户权限管理:创建受限用户并配置特定目录访问权限
  • 【react使用AES对称加密的实现】
  • 用例怎么链接到其他地方的序列图
  • 自动化爬虫-selenium模块万字详解
  • NoSQL基础知识总结
  • Hadoop生态圈框架部署(四)- Hadoop完全分布式部署
  • w~自动驾驶~合集5
  • MMed-RAG:专为医学视觉语言模型设计的多功能多模态系统
  • SQL 基础语法(一)
  • 一个由Deno和React驱动的静态网站生成器