C++中的类型转换

从C++转到Python,现在再写C++很多语法已经觉得太过繁杂了。比如说类型转换,Python里大部分情况直接套个类型函数就搞定了,C++里复杂很多,尤其是又支持C的类型,使得问题进一步复杂。

  • 字符串类型之间相互转换(const char*std::stringTString
// `const char*` to `std::string`
const char* cstr = "A c-string!";
std::string stlstr(cstr);
// `std::string` to `const char*`
std::string stlstr("An STL string!");
const char* cstr = stlstr.c_str();
const char* cstr2 = stlstr.data();
// `const char*` to CERN ROOT `TString`
const char* cstr = "A c-string!";
TString tstr(cstr);
// CERN ROOT `TString` to `const char*`
TString tstr = "A TString!";
const char* cstr = tstr.Data();
// CERN ROOT `TString` to `std::string`
TString tstr = "A TString!";
std::string stlstr(tstr);
// `std::string` to CERN ROOT `TString` (实际上不是直接转化,而是由以上推导出的)
std::string stlstr("An STL string!");
TString tstr(stlstr.data());  // or `tstr(stlstr.c_str())`
  • 字符串与整型之间相互转换(stringchar*int
// `int` to `std::string`
int id = 520;
std::string stlstr = std::to_string(id) ;
// `std::string` to `int`
std::string stlstr = "12345";
int id = std::stoi(stlstr);

你可能感兴趣的:(C++中的类型转换)