编辑:我在评论者的帮助下弄明白了。回答我标题中提出的问题:不,这不是堆栈损坏,它的gdb报告了错误的值。该程序实际上按预期运行并且具有正确的this指针。促使我发布此问题的实际错误行为可能与我在此处描述的问题完全无关。首先是一个警告。我相信这是一个内存损坏问题,除了“彻底检查你的代码”之外,我通常不会期望得到答案,但我已经看到这种行为反复出现,希望你们中的一些人对这个问题有洞察力以及我是如何做的可以找到它的来源。我目前正在实现区间静态分析,它跟踪C程序中变量的可能范围。我的基区间类的复制构造函数如下所示:itvt::itvt(constitvt&i):_i(i.type==INTBV?