Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Good point, but if it’s a long string, 2/3 of the most common implementations would make the first word the c_str()-equivalent pointer:

https://devblogs.microsoft.com/oldnewthing/20240510-00/?p=10...



So it's actually printing *(const char **)&s?


The first pointer-sized chunk of the string structure is a pointer to the C-string representation. So the cast works as written.


Well, no, because (const char *)str is nonsense, if str is an std::string.


Not to the debugger. If the first 8 bytes of the object referenced by str is a char* the debugger is perfectly capable of using it that way.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: