我一直认为
当然有
说真的,
std::string
是一个封装了 C 字符串的 STL 包装器。但是仔细研究后,我发现它并没有给出任何提示或迹象表明它是一个封装的 c-string。就我所知,std::string
内部可能在做任何事情!当然有
c_str()
方法,我以为它返回内部 char 数组,但是如果这个方法不是从内部存储的数据创建一个新的 c char 数组并返回它,我怎么知道呢?说真的,
std::string
是如何实现的?它(似乎)只是一个 C char 数组的包装器,还是其他东西?或者两者混合使用?甚至可以有条件地变成两者都有?