
VC++ 7.0 Debugger/IDE Bug? std::string display
It appears as if the VC++ 7.0 IDE/De{*filter*} doesn't display strings as
it once did. The problem shows up when an assignment operation causes
the string to _Grow. On my platform, this is for character sequences
whose length exceed 15 characters.
std::string strStringShort = "LessThen15";
- strStringShort will display in the de{*filter*} as "LessThan15"
std::string strStringLong = "123123123123123123123123123123";
- strStringLong will display junk
The string in other operations (assignment or std output for instance)
behaves properly... it just appears to be a simple de{*filter*} display
problem.
The value displayed is that of
std::string._Bx._Buf
instead of
std::string._Bx._Ptr
HOWEVER...
when _Grow has not taken place, _Buf DOES in fact point to the
location where the literal characters live.
Thought I'd share...
James