如何填充这个矢量?Stroustrup示例
How do I fill this vector? Stroustrup example
我正在阅读Stroustrup的《使用C++编程原理与实践》。在第287页,他在评估顺序的标题下举了一个例子。但我并不完全理解这个例子。按照构造,每次都会创建和销毁"字符串"输入,直到有人键入"退出"。
如何更改代码,使向量v包含输入的每个字符串?正如所写的,我认为v.size()永远不会超过1。我希望它遍历一个循环,并将循环的所有内容插入到向量中,而不是在循环时插入、删除和插入。
(书本上的代码)
vector <string> v; //this is defined globally
void function()
{
string s;
while(cin>>s && s!="quit")
{
string stripped;
string non_letters;
for (int i=0; i<s.size(); ++i)
if (isalpha(s[i]))
stripped +=i;
else
not_letters += s[i];
v.push_back(stripped);
}
}
对于每个输入的s
,For循环用字母s填充stripped
。然后在while循环结束之前,它被推到v1
的末尾。所以v1.size()
是非退出输入的数量。
注意,push_back
执行字符串复制,在}
调用stripped
的析构函数。(事实上,编译器会优化这两个操作。)
相关文章:
- 激励'inline'说明符的真实世界示例?
- 为什么示例代码访问IUnknown中已删除的内存
- 以下示例中如何避免代码复制?C++/库达
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 示例C++项目编译中的警告
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- 当Microsoft文档仅包含 C# 示例时,如何查找 C++ 包含文件名
- 在简单示例中,Python3 + ctypes 回调会导致内存泄漏
- 为什么理解这个递归示例如此难以转化为直觉?
- C++:关于使用 Stroustrup 示例移动构造函数/赋值的问题
- C++:引用引用,Stroustrup示例
- C++:使用Stroustrup示例生成随机数?
- 代码在Visual C ++中无法按预期工作(来自bjarne stroustrup编程和原则书籍2n版本的示例)
- 在Bjarne Stroustrup的C 书中,这个示例有什么问题
- FLTK 版本 1.3.2,Visual Studio 2012 和 Stroustrup PPP 书的第一个示例
- 如何填充这个矢量?Stroustrup示例
- Stroustrup第4版,第82页,可变模板示例无法编译
- 使用std::uninitialized_copy的Stroustrup示例中的资源泄漏
- Bjarne Stroustrup第10.5章示例