MFC CString::GetBuffer() 内存数据异常

问题描述

在项目中的一个文件路径存储在CString的对象中,这个对象在函数间传递了几次,当传递出来的时候,因为要使用到字符指针,所以GetBuffer获取字符串的指针,但是通过调试,发现,CString对象中的内容,在对此的传参(应该是拷贝构造)以后,内容发生了变化.
当时的分析截图

解决方法

这个问题已经很长时间了,今天我重新拿来验证,发现,还原不了当时的场景了.实乃遗憾啊.当时的解决方法应该是减少传参拷贝,或者使用指针.个人觉得,应该是对于CString类没有了解透彻.

题外闲谈

这个问题,已经过去很长时间了.不过,以后,可能还会遇到,在此记录一下.

参考引用

MSDN help manual

原文地址:https://www.cnblogs.com/zi-xing/p/5813396.html