我是一个 C++初学者,提一个比较简单的问题,希望可以得到诸位的解答。谢谢!
众所周知,在调用 std::string 的 c_str()函数时,返回的是一个 const char*类型,会以\0 结束。
在我自己实现 stl 时,我发现结尾的\0 会给 insert 等函数带来很多麻烦,所以存储字符串时,根本没有用\0 结束。但是,这样的问题就是,c_str()的返回值,经常会超出范围。
所以我想问问大家,在你们实现 stl 的时候,是以\0 为结尾使结果比较好看(但是这样会多占用一个字节),还是从 allocator 方面使他的结尾必定为 0,或者还有其他的解决办法?
一个新手比较困惑的问题,再次感谢!