对于你们中的一些人来说,这可能是一个简单的问题。但我想知道是否std::string
是一个容器。我所说的容器是指容器,例如std::vector
, std::list
and std::deque
.
Since std::basic_string<>
接受整型字符以外的其他类型,但也通过使用字符数组进行优化。我不太清楚它属于哪一类。
这将编译:
#include <string>
#include <iostream>
int main() {
std::basic_string<int> int_str;
int_str.push_back(14);
return 0;
}
但是通过添加这一行:
std::cout << int_str << std::endl;
不会的。因此,根据这些事实,我可以得出结论,std::basic_string 不适用于字符以外的其他类型。
这对你来说可能是一个奇怪的问题。我需要知道这一点的原因是因为我正在开发一个框架,但我仍然无法确定“字符串”属于哪个类别。
是的std::basic_string模板满足所有要求Container concept。但我认为它对包含的类型有更强的要求。只是想弄清楚到底是什么。
(这不是 Bjarne 的概念。只是标准中标有“的部分”23.2.1 General container requirements
".)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)