我的一个问题的答案包括以下代码行:
label = std::safe_string(name); // label is a std::string
意图似乎是字符串文字的包装(因此可能不会发生分配).我从来没有听说过safe_string
,显然也没有谷歌(我也不能在98标准中找到它).
有谁知道这是关于什么的?
搜索谷歌代码搜索后(我应该首先想到这个...)我发现了这个:
//tools-cgi.cpp string safe_string (const char * s) { return (s != NULL) ? s : ""; }
将NULL
s转换为零长度字符串.虽然这不是标准的,但它可能是答案中提到的特定STL实现中的某种扩展.
没有标准的safe_string.您在回答者的响应中看到的safe_string来自于私有STL扩展实用程序库.
谷歌的"stlext/stringext.h",你会在另一个论坛的帖子中看到相同的库.