C++9

C++类和new、delete操作符

在C++中,你可以像定义变量一样来创建对象,如:
Student stu;  //对象已被实例化,已分配内存空间,可以使用了
stu.say();  //调用成员函数
这种情况下,系统会在栈区为对象分配内存。栈区是内存中的一块区域,由系统自动分配和释放,程序员无法操控,一般用来存放函数的参数值、局部变量、局部对象等。


当发生函数调用时,系统将函数参数、局部变量、局部对象依次压入栈区;函数执行结束,再按照先进后出的原则将它们弹出(销毁)。


对于大部分程序,这不会有什么问题。但当你希望在函数调用结束前销毁对象时,你是无能为力的。或者你希望通过 for 循环来创建多个对象,这种方法同样也做不到。


这个时候 new 和 delete 就派上了用场:使用 new 创建的对象,可以在任意时刻通过 delete 销毁,而且只需要一个指针指向它。


以前面的 Student 类为例,可以这样来动态创建对象:
new Student;
也可以使用构造函数:
new Student("小明", 15, 90.5f);
这样,就在堆区为对象分配了内存,并调用了构造函数。


但是此时程序员还无法访问这个对象,因为这个对象既没有名字,也没有指针指向它。这种对象称为匿名对象,它确实存在,但无法访问。

<

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294194.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个技术人的知识管理方法论

http://www.cnblogs.com/me-sa/p/my_methodology.html转载于:https://www.cnblogs.com/liushiyong1/p/3556299.html

继Science发文后,Nature也发文评论曹雪涛“误用图片”调查结果

全世界只有3.14 % 的人关注了爆炸吧知识本文转自&#xff1a;募格学术2021年1月26日傍晚 Nature 网站以头条新闻的方式刊出了题为“著名中国免疫学家没有剽窃和学术造假”的新闻并配以曹雪涛的照片&#xff0c;该新闻大篇幅报道了科技部等多部门对于中国工程院院士曹雪涛的联合…

linux运行.pak文件,使用game-to-flatpak脚本将商业Linux游戏安装程序转换为Flatpak应用程序...

现在有一个新的脚本&#xff0c;它允许你将各种商业Linux游戏的安装程序转换成可以在各种GNU/Linux发行版上运行的Flatpak软件包。这是一个开源的shell脚本&#xff0c;由GNOME开发人员Bastien Nocera开发&#xff0c;它做了一件事&#xff0c;即自动将各种格式的商业Linux游戏…

Log4j 2漏洞(CVE-2021-44228)的快速响应

简介2021 年 12 月 9 日&#xff0c;在Log4j的 GitHub 上公开披露了一个影响多个版本的 Apache Log4j 2 实用程序的高严重性漏洞 CVE-2021-44228、CVSSv3 10.0 (https://logging.apache.org/log4j/2.x) 。该漏洞由阿里云安全团队的陈兆军&#xff08;可能为音译&#xff09;发现…

Xcode4.5编译ffmpeg成功,过程说明

最近项目要用音视频的通话&#xff0c;需要用ffmpeg来实现&#xff0c;但是ffmpeg在iOS平台上的编译有些问题。 1 下载代码 1.下载ffmpeg源代码 git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg 参考&#xff1a;http://ffmpeg.org/download.html 2.下载ffmpeg-iphone…

何时使用[self release]

这样的语句 [self release];乍看上去让人很困惑。 从release方法本身的作用上来说&#xff0c;就是给self的引用技术减一&#xff0c;就像release对其他对象所做的一样。一般来说&#xff0c;唯一用到&#xff0c;也是最合适使用 [self release];这一写法的地方是在initXXX方法…

C++10

C++友元函数和友元类 一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。现在,我们来补充介绍一个例外——友元(friend)。 fnend 的意思是朋友,或者说是好友,与好友的关系显然要比…

box2d 绘制圆

在让刚体听我的——ApplyForce、ApplyImpulse、SetLinearVelocity一节中&#xff0c;来自天地会的sxl001问道如何创建圆形的边界(Round Boundary)&#xff0c;好吧&#xff0c;我用这个教程来回答他。 实际上Box2D中没有专门创建圆弧的API (b2CircleDef创建的是实体圆形不是圆弧…

linux浏览器不能播放音频文件夹,在html中插入音频文件在浏览器中播放音频文件的兼容性问题...

下面谈谈本人在html中插入音频文件&#xff0c;经过我的本地测试总结的一些问题(播放mp3文件)&#xff1a;1、问题&#xff1a;IE8上正常(通过media player插件来播放)但在IE6和IE7上不会播放Firefox上要安装QuickTime插件才能播放Chrome通过将其转化成html5上的标签播放&#…

如何让 Timer 在特定时间点触发?

咨询区 Behrooz Karjoo我的应用程序需要做一个 事件触发 的功能&#xff0c;它需要每天定时执行&#xff0c;比如说当天的 16点&#xff0c;我现在的做法是使用一个 timer 按秒轮询判断当前是否为 16:00&#xff0c; 虽然可以玩得转&#xff0c;但我想能不能实现那种 16:00 自动…

深入剖析Android系统

深入剖析Android系统&#xff08;基于Google发布的Jelly Bean原始代码&#xff0c;讲述Android系统的内部静态结构关系和内部运行机制&#xff0c;为你呈现原汁原味的Android代码分析大餐&#xff01;&#xff09; 杨长刚著 ISBN 978-7-121-19374-3 2013年1月出版 定价&#xf…

微博上的网红,为什么更能红得发紫?

“网红”是最近非常热潮的互联网现象。在微博上&#xff0c;各种各样的网红不仅活跃了粉丝群体&#xff08;微博月活跃用户增至2.61亿&#xff09;&#xff0c;也为微博增添了互动热度&#xff08;微博一季度微博日均视频播放量达4.7亿次&#xff0c;同比增长489%&#xff0c;比…

TotoiseSVN-小乌龟的使用方法总结

原文转自 http://www.cnblogs.com/xilentz/archive/2010/05/06/1728945.html 收藏起来用的时候比较方便 TotoiseSVN的基本使用方法在 项目管理实践教程一、工欲善其事&#xff0c;必先利其器【Basic Tools】中&#xff0c;我已经讲解了怎样安装TortoiseSVN。在上面的讲解中已经…

UNIX环境高级编程笔记

1.setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &opt, len); SO_REUSEADDR套接口选项允许为以下四个不同的目的提供服务&#xff1a; 一.SO_REUSEADDR允许启动一个监听服务器并捆绑其众所周知的端口&#xff0c;即使以前建立的将该端口用作它们的本地端口的连接仍存在。 …

linux重定向输出时加时间变量,shell 重定向错误输出到文件 加上时间(标明错误抛出的时间)...

在开发中&#xff0c;我们避免不了写crontab脚本来异步执行一些东西&#xff0c;一般设置crontab用下面的方法&#xff1a;*/1 * * * * commond > /tmp/t.log 2>&1前面的> /tmp/t.log代表把标准输出重定向到/tmp/t.log文件&#xff0c;后面的 2>&1 代表把标…

ping

一、Linux下的ping参数 ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ \ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ -f | -i \ Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketSize ] [ -S hostname/IP addr ] \ [ -L ] [ - I a.b.c.d. ] [ -o interface ] …

WPF DataGrid 如何将被选中行带到视野中

WPF DataGrid 如何将被选中行带到视野中目录前言准备工作方法一方法二总结独立观察员 2021 年 12 月 11 日前言在 WPF 开发中&#xff0c;显示表格一般使用 DataGrid 控件&#xff0c;而且我们一般会依据用户的选中行的操作来执行一些逻辑&#xff0c;这种情况&#xff0c;选中…

Python 基础语法_Python脚本文件结构

前言 Python基础语法这一章&#xff0c;主要记录了Python的文件结构、逻辑运算符、算术操作符、控制流语句、输入和输出语句、函数、对象、类等方面的内容。在了解了Python的数据类型之后&#xff0c;结合之前的要点来一起继续学习。 软件环境 系统 UbuntuKylin 14.04软件 Pyth…