这可能对你们中的一些人来说是一个简单的问题。但我想知道
由于
这将编译:
但是通过加入这一行代码:
std::string
是否是一个容器。容器是指像std::vector
、std::list
和std::deque
这样的容器。由于
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并不打算与字符以外的其他类型一起使用。
对于你来说,这可能是一个奇怪的问题。我需要了解这个的原因是,我正在开发一个框架,但我还不能确定“string”属于哪个类别。
struct X
或float
制作一个字符串。 - Mats Peterssonfloat
类型的字符串? - curiousguychar_traits
未定义为float
类型。[这也很奇怪,你会如何处理介于A和B之间的字符?] - Mats Petersson