c++在类的方法中被方法参数中实例化对象的对象能自动释放内存么

.net static 方法中实例化的对象,方法执行完后会被释放吗?_百度知道
.net static 方法中实例化的对象,方法执行完后会被释放吗?
我有更好的答案
程序中的其他类共用次static对象,比如static int a=0;然后一个类中修改 静态类名.a++;然后另一个类中再次调用静态类名.a的话,值就是1,再a++就是2
采纳率:60%
.net 有垃圾回收,会在适当的时候回收对象释放不是释放的,你根本不用考虑
静态的对象和方法,生命周期在他的有效范围内。若在此方法中 实例化的对象,在方法结束后会被释放,非此方法体中实例化的,不会被释放
不会,static的生命周期为该程序的生命周期,程序结束,释放空间。
业务逻辑层声明一个普通类,写了一个static方法为了调用方便,里面声明并实例化了sqlHelper对象,然后表现层多次调用此方法,会有什么后果
如果没有手动释放,连续调用,应该会出现数据库Reader问题
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
static的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2013年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第七
2015年1月 VC/MFC大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。相关文章推荐
C/C++内存终极处理方法(夸张点,推荐)
C/C++动态分配给我们带来了很多方便,但同时,也给我们带来了无限的烦恼。
1. 在嵌入式中
嵌入式开发内存本来就不是很足...
* HelloWorld.cpp
Created on: 日
Author: zroad
*/#include
首先创建一个类,如下:
class Coordinate
下面就是实例化一个对象。
void main()
1.指向const对象的指针
我们可以通过指针来修改其所指对象的值,但如果指针指向的是const对象,则不允许使用指针来改变其所指的const值。C++要求指向const对象的指针也是const类型...
昨天写JAVA程序时用到了在一个构造函数里调用另一个构造函数的方法。在JAVA里的使用方法是:this(参数...)。当时脑子里冒出一个问题:在C++里构造函数如何调用另构造函数?因此...
C++——类实例化内存的分配和this指针的使用
分类: C++概念
01:05 97人阅读 评论(0) 收藏 举报
目录(?)[+]
九、 C++ 的引用 ( reference )
定义引用就是给某个变量起别名, 对引用的操作与对该变量的操作完全相同.
1) 定义引用的时候加 const 修饰, 即为常引用, 不能通...
  闫一伟  
在初学面向对象的程序设计语言时,很多人或多或少的都有些疑问,为什么写出来的代码与最终生编译成的代码大相径庭呢?我们并不知道编译器在后台做了什么工作,这些都是...
一个对象的实例化过程:Person p=new Person();
1.jvm会读取指定的路径下的Person.class文件,并加载进内存。
并会先加载Person中的父类(如果有父类对象的情...
一、理解面向对象:
面向过程:强调的是功能行为。
面向对象:将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程的。
二、JAVA把内存分为两种:栈内存和堆内存。
//在函数中定义的一些基...
他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)C++里析构函数可用来释放内存,但是当关闭程序后不是就自动释放内存了吗,那为何还要用到析构函数呢。 - 极客问答 Geek Q and A
C++里析构函数可用来释放内存,但是当关闭程序后不是就自动释放内存了吗,那为何还要用到析构函数呢。
老师说析构函数释放内存,可是关闭程序自动释放内存,那么还写入析构函数干什么,我们可以不写析构函数吗。
(2,040 分)
就算是你自定义了析构函数,默认析构函数同样会存在,而且会执行。当类中有类对象成员时,首先调用的是自定义的析构函数,然后这个类对象成员资源的释放,就是由默认析构函数来释放的。因为指针不属于对象成员,因此默认析构函数不会管他,需手动释放指针的资源(主要是new)例class B{public:~B(){cout&&"B";}}; class A{public: B ; ~A(){}}; void in(){ A ;}
在类A中的析构函数什么也没做,也就是没有释放类成员的资源,但类B的析构函数仍执行了,这个类对象成员的资源释放,就是使用的类A的默认析构函数进行的。
(2,380 分)
构造函数通常用于在实例化对象时自动对内部数据成员初始化,设置初始值、分配内存空间等。
而析构函数则用于删除对象时做收尾工作,比如释放申请的空间等。
(2,872 分)
析构函数是在你程序运行的时候释放内存。和关闭程序不是一回事
(7,368 分)
Powered by在Java中和C++中实例化一个类和定义一个引用的区别?_百度知道
在Java中和C++中实例化一个类和定义一个引用的区别?
比如有一个类A。
A a=A();表示初始化a指向一个A对象的空间。
A a;则表示只定义一个引用先不初始化。
A a;是不是就表示已经分配空间了呢?如果想只定义引用不初始化要怎么写呢?
只能用指针吗?
这种写法A &a表示什么...
我有更好的答案
在C++中A代表创建一个A类型的对象a,此时已经调用缺省构造函数进行了构造如果不想创建A的对象,只能创建一个指针A*A &ra是创建A的一个引用,注意,在声明引用的时候必须同时指定该引用指向的对象,即必须这么写:A &ra =此时ra更类似java里的句柄(也就是java里的A a = new A()是的
也就是栈,存放a,a的值为new A()这个对象的内存地址; / // 这是声明一个引用,它的类型是Object,他的值为null。也就是说将栈中表示引用o的内存地址的内容改写成了Object对象在堆中的地址。C++:C++ 如果直接定义类,如classA a 存在栈上(也意味着复制了对象a在栈中),还没有指向任何对象;/ new Object()句,该引用放在内存的栈区域中。o = new Object(),但在内存中开辟了两块空间:一块空间在堆区,存放new A()这个对象;另一块空间在堆栈;为A对象创建了一个实例,将引向o指向了对象JAVA;/ 运算符。因为java在JVM中运行,所以a 描述的内存地址不一定是这个对象真实内存的地址。Object o,实例化了一个对象,就是在堆中申请了一块连续空间用来存放该对象。= &#47:A a = new A()
为您推荐:
其他类似问题
实例化的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 java实例化对象的方法 的文章

 

随机推荐