我一直在我的代码中使用std :: string.我打算创建一个std :: string并通过引用传递它.但是,有人建议使用char*代替.移植代码时,关于std :: string的东西是不可靠的.真的吗?我已经避免使用char*,因为我需要为它做一些内存管理.相反,我发现使用std :: string更容易使用.
基本上我有一个10位数的输出,我存储在这个字符串中.Atm,我不确定哪个更好用.
小智 12
std :: string是C++标准的一部分,自1998年以来一直存在.它在所有当前的C++编译器中都可用.确实没有可移植性的理由不使用它.如果你有一个需要使用C风格字符串的API,你可以使用std :: string的c_str()成员从字符串中获取一个:
std::string s = "foo";
int n = strlen( s.c_str() );
Run Code Online (Sandbox Code Playgroud)