1、我定义了一个对象数组,如今我想删除该对象数组中的某一个对象的所有信息,请问我该怎么做?
2、现有如下操作:
{
int x=0;
iofile.read( (char*) &x , sizeof (x) );
x=x+1;
。。。(一系列操作)
}
在此之前没有对x的读入操作,请问 iofile.read( (char*) &x , sizeof (x) ); 这一步会不会造成错误?
还请各位帮我看看,万分感谢!
第一个问题可以显式调用对象的析构函数实现
obj.~ClassName();
// 如果内存申请方式不当会造成一个对象的析构函数被重复调用
或者将释放或删除操作封装为一个函数在需要的时候显式调用。如果连内存都想一起释放,可能需要调整数据结构,使用链表等等来替代数组。
而第二个问题应该不会造成错误,但是并不推荐这种处理方式,Cpp中一定有更优的选择。这段代码如果没有方法调用和C风格的代码没有差别。
对象数组? 在你的代码里 只看到一个x局部变量, 而且是基本类型,不是类。 运行时系统, 分配在栈里(或者寄存器里) , 作用域结束时 自动释放。
代码, 看起来 是从文件里, 读取一个4个字节数据, 放到x所在的4个字节内存里。 然后 这4个字节 组成的int数据(注意可能有低位优先上的问题要考虑), +1了而已。
根本没有看到数组。