![]() |
1
34
|
![]() |
2
33
违反一个定义规则可能导致堆栈损坏。下面的示例看起来很愚蠢,但我已经在不同配置中编译的不同库中见过几次了。 标题.h
file1.cpp
file2.cpp
|
![]() |
3
15
使用指向堆栈变量的指针是一种好方法:
如果bar保留指针的副本,那么将来可能会发生任何事情。 总结:当指针指向堆栈时,就会发生堆栈损坏。 |
![]() |
4
9
C++标准不定义堆栈/堆。此外,有许多方法可以调用程序中未定义的行为——所有这些都可能损坏堆栈(毕竟是UB)。简而言之,你的问题太模糊了,没有一个有意义的答案。 |
![]() |
5
5
使用错误的调用约定调用函数。
|
![]() |
6
4
在析构函数中抛出异常是一个很好的选择。这会使堆栈的展开变得混乱。 |
|
pickle323 · C编程:现代方法-第10章项目6-困惑 6 年前 |
![]() |
Gameatro · 为什么malloc在函数内部调用时返回空指针? 6 年前 |
![]() |
E. Peracchia · F#函数调用工作不正常 6 年前 |
![]() |
Jorge Zazueta · 汉诺塔C++的堆栈实现 6 年前 |
|
adamcasey · 缓冲区溢出“攻击”中的操作序列 6 年前 |