C++允许将临时绑定绑定到const引用,从而延长其生命周期.我的问题是:如果我通过const-cast来修改对象,那么这个未定义的行为是什么?让我们假设我的新引用不会比原始的const引用更长,所以它总是指向内存中的有效对象.
如果它确实调用了未定义的行为,那为什么呢?对象存在于堆栈中,如果我能读取它为什么我不能修改它?我理解为什么这可能是一个坏主意,因为临时将很快被销毁,但它是无效的C++?在我的测试中,我的程序在修改临时版后运行正常.