我阅读了一些 GCC 错误报告,那里的人在谈论“vstring”。搜索 WEB 我注意到http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/vstring_8h.html。
有人可以详细说明它的用途和用途吗?为什么使用它而不是 std::string?
我阅读了一些 GCC 错误报告,那里的人在谈论“vstring”。搜索 WEB 我注意到http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/vstring_8h.html。
有人可以详细说明它的用途和用途吗?为什么使用它而不是 std::string?
GCCvstring
是一个通用的字符串类,它是在 GCC 4.1 的libstdc++
实现中引入的。
它与 兼容std::basic_string
,具有以下附加详细信息:
vstring_fwd.h
一些有用的 typedef。DR431 是库工作组缺陷报告 431,选项 3 看起来像是为类实现更好的分配器支持,以允许更好的交换和其他与分配器相关的操作。
基本细节来自GCC 4.1 的发行说明,位于运行时库部分。
编辑:
看起来这个扩展的最初目的是为 C++11std::string
实现提供基础。GCC/libstdc++ 贡献者 Paolo Carlini 在此GCC 错误报告中发表评论,其中<ext/vstring.h>
包含 next 的非引用计数实验版本std::string
。2012 年 4 月 12 日的评论:
我们试图解释的是,这类问题是众所周知的,并且或多或少会影响任何引用计数的实现...... 当不使用引用计数并且确实不会使用它时,情况并非如此(根据新C++11 标准)在一个新的实现中
std::string
,我们目前正在展示它<ext/vstring.h>
...