使用stringstream代替字符串? - C++

Mei*_*eir 1 c++ string iostream

我已经完成了用C++编写程序的作业,但我们不允许使用字符串类.但是,我们可以使用iostream库,包括stringstream.我正在考虑使用stringstream,我将使用字符串来构建我的类,从函数返回等.

这对你来说听起来不错吗?我应该注意哪些陷阱?

小智 10

你也可以使用vector <char>.它是字符串的一个很好的替代品.正如Scott Meyers在他的"Effective STL"一书中所说:

第三,考虑使用vector <char>而不是字符串,不允许向量实现引用计数,因此不会出现隐藏的多线程性能问题.当然,如果你切换到vector <char>,你放弃了字符串的花哨成员函数,但是大多数功能都是通过STL算法提供的,所以你不要放弃功能,因为你正在为另一种语法交换一种语法.

我认为使用stringstream可能产生的主要问题是它不是严格意义上的容器.我不确定是否可以使用算法和其他常规STL与流.