在下c++萌新,请教各位大佬以下两个问题

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了而已。
根本没有看到数组。