c++标准库为什么没有对char*的封装?

问题描述重新编辑,想看历史纪录的可点击“查看问题日志”。 问题已经解决: 我纯c和qt写的比较多,std 也是因为最近可能要用到,没有qt了,我才看下…
关注者
27
被浏览
18,987

15 个回答

要认真学习,不要对人家正直的提醒抱有恶意的猜度。问char*的包装之前,要明确自己想要什么?std::string, std::vector<char>为什么你认为不够用,为什么封装了还要偏执的要自己管理内存。标准给出了对vector、basic_string等内存布局的强要求,难道还不够用么?

有所有权的容器有std::string,std::vector<char>,std::deque<char>,std::list<char>……

没所有权的有std::string_view。用不了C++17的自觉用boost。

后面C++20里还会来一批ranges。

最后char*不是挺好的么,指针也是RandomAccessIterator,俩迭代器一夹是标准的C++-ish写法,也不一定非要自行车。