【发布时间】:2026-01-10 05:20:03
【问题描述】:
我正在重新学习 C++,我发现自己经常编写这样的代码:
vector<string> Text;
string Line;
while (getline(cin, Line))
{
Text.push_back(Line);
}
我想知道是否有一种更紧凑的方法来编写仅使用基本功能(例如,没有用户编写的函数)的循环 - 或多或少,将所有内容置于条件中?
【问题讨论】:
-
单指令循环,如何更紧凑?空循环?
-
这是最基本的。它从
cin输入流中读取,直到getline()失败。 -
为什么你想让它更紧凑?这给你带来什么好处?它肯定不会使它更具可读性!
-
“紧凑语法”和“简单代码”并不总是(很少?!)相同的东西。那你想要哪一个?
-
如果您想要紧凑,请使用
std::string::reserve和std::cin::read。这会将文件读入一个大字符串(前提是您保留了足够的空间),因此数据更加紧凑,从而在内存中留下更少的孔或间隙。此外,两个语句,因此在源代码中更加compact。在互联网上搜索“内存映射文件”,将您的操作系统名称附加到关键字。
标签: c++