我对C++的一些疑问
我对C++的一些疑问,最近使用C++,总感觉有些东西自己没有抓住,也可能是自己基础学的不是很扎实,所以对一些基本的东西理解不够透彻导致的。
因为自己在学校也学过C#和java,C#它是一个完全的面向对象的语言,所以没有这么麻烦,在C#中除了基本的几种值类型,其他的一切都是对象,都是Object的子类。
我的疑问如下:
1、在C#中对象声明并不开辟存储空间,直到调用类的构造函数显示的初始化对象,之后才会开辟空间,而在C++中,对象声明之后就会自动调用默认构造函数,这样,是不是已经开辟了存储
空间了呢?
自己的回答:C++中调用构造函数有几种方式,如 Point p;此时,会自动调用类Point的默认构造函数,而且默认系统会自动为C++中的一个类生成3个默认构造函数,分别是:无参默认构造函数、拷贝构造函数、赋值构造函数。所以C++中声明时即为此对象开辟了存储空间。这里需要注意C++中的new和C#中new的区别。C++中new是在堆上开辟一段内存存储对象元素。而C#中new是为了显示调用构造函数实例化对象。
2、还有就是在编程中,往往需要给函数传递参数,而参数可能是地址,那么是不是不能传递局部对象的地址呢?如果遇到这种情况,一定需要用new在堆上创建对象么?那么这样又出现了对
象释放的问题。该怎么处理呢?
自己的回答:此时就应该使用new在堆上上创建对象,在对象不用时销毁对象。其实实现起来也不是那么麻烦,只是可能因为牵涉到指针操作,所以在做之前就认为很难,其实真的做起来,只要考虑完全,操作指针还是很方便的。
3、
未完待续。。。
我对C++的一些疑问相关推荐
- 读阮一峰对《javascript语言精粹》的笔记,我有疑问。
<javascript语言精粹>是一本很棒的书籍,其中作者在附录列出了12种他所认为的javascript语言中的糟粕. 我最近开始跟读前端前辈的博客,其中读到了阮一峰的<12种不宜 ...
- 有关包络Spectral Envelope的疑问
在有关MFCC的许多文章中,很多都是引用国外一篇PPT的. 这篇地址在这里 其中有关于Spectral Envelope(包络)的理解我一直有一些疑问. 疑问 为什么有如下假定? Spectrum = ...
- 自动驾驶真的会来得那么快吗:关于自动驾驶的7个疑问
来源:资本实验室 自动驾驶汽车的研发已经成为全球热潮.无论是像谷歌.百度.Uber这样的互联网巨头,还是丰田.通用.福特这样的老牌汽车制造商,都在以大量的人力.资金向自动驾驶领域下注. 然而,无论是W ...
- 关于dns域名轮询监控的疑问
网上有这样一句话: 目前DNS支持一个域名对应多个IP的解析,优势是可以起到负载均衡的作用,最大的问题是目标主机不可用时无法自动剔除,因此必须在自己的业务端写好监控与发现,怎么样来做这样的监控,以py ...
- 用户利益何在:微软Windows10新政背后的疑问
日前,微软宣布,以后新的CPU(英特尔Kaby lake,AMD Bristol Ridge和高通骁龙820)只会支持Windows 10,不再支持老的系统.此外,不但新的CPU成了Windows 1 ...
- 线程池的一些疑问和解答
2019独角兽企业重金招聘Python工程师标准>>> 疑问 线程池中的线程是如何实现一个线程执行多个任务的? 构造线程池时为何要用阻塞队列作为参数,非阻塞队列不行吗? 线程池的几个 ...
- 回应关于《BCH五月硬分叉是伪需求》的疑问
其实之前那篇文章的重点在于探讨增加OP_RETURN 字段长度并添加相关脚本命令的意义,在下的观点是完全没有意义.不过评论区来的大多数BCH粉丝们似乎并不能理解什么是脚本命令,只会一遍一遍地喊口号.因 ...
- cygwin和mingw编译软件的疑问
2019独角兽企业重金招聘Python工程师标准>>> 对于cygwin和mingw的区别已有基本了解.先已有mingw+msys环境,mingw版gcc在mingw官网下载,版本4 ...
- APPLE:疑问驱动下的学习与实践
今天来到杭州电子科技大学,应陈龙老师邀请参加2018年华东地区高校电子线路课程教学研讨会.下午在会上也将自己从暑假以来构思的一种在知识碎片化时代,面向工科学生的知识点重装方式:APPLE,介绍给大家. ...
- war包部署到tomcat的疑问
2019独角兽企业重金招聘Python工程师标准>>> war包具体是怎样部署到tomcat里面的,这里就不做详细说明了,很多高手都有自己的"独到"教程,哈哈. ...
最新文章
- VTK:可视化之NoShading
- VTK:绘图之Histogram2D
- 【Envi风暴】ENVI中求两幅遥感影像的相关性(相关系数)
- java oca_OCA第5部分中的Java难题
- c语言文件分屏显示,通用子目录文件显示方法
- AIgorand区块链中VRF随机函数的应用
- mui.init方法配置
- 用python怎么样实现图像二值化_使用Python+OpenCV如何实现图像二值化
- box-sizing布局(简要介绍)
- PHP实现完全二叉树
- tomcat 7下spring 4.x mvc集成websocket以及sockjs完全参考指南(含nginx/https支持)
- DP--Tetrahedron
- 查看编译war包的jdk版本
- 解决 Nginx Let's Encrypt HTTPS 证书 错误: 服务器缺少中间证书
- 失眠的岁月,我们都交了哪些科技智商税?
- 混合正弦余弦算法和 Lévy飞行的麻雀算法-附代码
- 【SDX12】高通SDX12 NatType功能分析及实现
- 视频超分:TGA(Video Super-resolution with Temporal Group Attention)
- 函数模板和类模板的区别
- 【翻译】用 安全即代码 保护你的GitOps流程
热门文章
- 智伴机器人广西团队_畅想科技 智绘未来——2020年全区乡村学校少年宫科技体验日活动在广西科技馆举办...
- artcore html5,值得收藏的25款免费响应式网页模板_CSS_网页制作
- Java语言跨平台性质的优点和缺点_机器人热门编程语言及优缺点分析
- qt 子窗口与父窗口数据通信_Qt实例--主窗口和子窗口互发信号
- 搞定使用MySQL导入外部的SQL文件执行
- 每个人都该知道的数字
- 《天天数学》连载15:一月十五日
- 【NOI2015】【codevs4600】【BZOJ4195】自动程序分析,我太弱了
- php错误没有进入catch,php – 致命错误:没有try / catch块的未捕获异常
- ios fixed定位后内容不显示_记录CSS中 position:fixed 踩的坑