Мелочь конечно, но для меня оказалось неожиданностью
C++ (Qt)
std::string src("abc");
std::string temp(src);
char * c = const_cast <char *> (temp.c_str());
*c = 'x';
// Utils::UpCase(c); // в оригинале
Увы, после этого обе строки (temp и src) становятся "xbc"

пришлось сделать
C++ (Qt)
std::string temp(src.c_str());