我读了一些GCC bug报道,其中有人在谈论“vstring”。搜索WEB我注意到http://gcc.gnu.org/onlinedocs/libstdc++/libstdc++-html-USERS-4.2/vstring_8h.html。
有人可以详细说明它的用途和用途吗?为什么要使用它而不是std :: string?
答案 0 :(得分:23)
GCC的vstring
是一个多功能的字符串类,在GCC 4.1的libstdc++
实现中引入。
它与std::basic_string
兼容,并附带以下详细信息:
vstring_fwd.h
。DR431是Library Working Group Defect Report 431,选项3看起来像是为类实现更好的分配器支持,以允许更好的交换和其他与分配器相关的操作。
基本详细信息来自运行时库部分下的GCC 4.1's release notes。
编辑:
看起来这个扩展的最初目的是为C ++ 11 std::string
实现提供基础。 GCC / libstdc ++撰稿人Paolo Carlini在GCC Bug Report中评论<ext/vstring.h>
包含下一个std::string
的非参考计数实验版本。评论日期为2012年4月12日:
我们试图解释的是,这类问题众所周知,而且更多或更多 更少,影响任何引用计数实现... 不使用引用计数时的情况并非如此,实际上它不 在
std::string
的新实现中使用(根据新的C ++ 11标准) 我们目前正在展示为<ext/vstring.h>
...