![]() |
1
10
这是因为您向向量中添加了八个元素,然后在尝试
然而,问题的根本原因是您修改了
注意使用
代码中的另一个问题是当您通过强制转换打印时
|
![]() |
2
4
如果您事先不知道数组的数据类型,那么在第一次初始化它时,必须假定有一定数量的内存,例如32字节或100字节。然后,如果内存不足,可以使用realloc进行扩展,并将以前的数据复制到新的插槽中。C++向量Irc遵循X2或X2.2比率重新分配,不确定。
下一个是你的
最后,你在这一行犯了一个大错误:
您正在修改指针地址!!!!您的初始地址在这里丢失!你绝对不能这样做。使用临时
|
![]() |
3
4
您的代码有些混乱,可能有一两个错误理解隐藏在其中。 一些观察:
附加值的函数可以是:
当然,这不会处理向量溢出,因为没有存储长度(我不想假定它是硬编码的,为10)。
改变
|
![]() |
gornvix · 如何从valgrind获得更多信息? 7 年前 |
![]() |
Ilya · 递归结构的向量存在内存问题 7 年前 |
![]() |
user7610 · 直接泄漏和间接泄漏之间有什么区别? 7 年前 |
![]() |
Danny · gcc/C++禁用vex指令的生成 7 年前 |
|
user3078625 · 如何让cg_注释包含字典? 7 年前 |
|
SonicN · realloc调用中的写入无效[已关闭] 7 年前 |