很长时间没有写 c/c++了
这次依据一些代码写了一个linux上的小东西,结果在运行时用new 创建对象的时候,报:
段错误
有可能还出现如下报错信息:
*** glibc detected *** ./selectServer: malloc(): memory corruption: 0x0000000000fba740 ***
研究了一会儿发现这个错误的原因:
用位于栈中对象中的方法来执行 new 操作(例如这样:BufferCell *bc_ptr = new BufferCell();
于是就出现了上述的错误
于是就出现了上述的错误
原因是一个vector中的元素不是用new 来创建的使用类似于 BufferCell bc;这种方法创建的,但是这元素中
一个方法却使用了new 来创建别的对象,所以就出问题了。