优化以下代码:#include <iostream> #include <string> #include <chrono> #include <windows.h> void Slow_display(const std::string& a, int times) { for (auto t : a) { std::cout << t; Sleep(times); } } int main() { std::cout << "邀请函:\n\n\n"; Slow_display("6月11日我们将拍毕业照,欢迎您的参加。\n", 30); Slow_display("时间:2023年6月11日7:30 - 12:00\n", 100); std::cout << "地点:灯湖三小603班教室\n"; std::cout << "参与者:全班的同学和教过我们的老师们^_^\n\n\n"; Sleep(2000); Slow_display("期待您的参与!", 30); return 0; }
时间: 2024-02-22 16:56:09 浏览: 126
可以使用字符串流来代替字符一个一个输出,同时可以用std::this_thread::sleep_for代替Sleep函数,使用std::chrono::milliseconds来指定时间间隔。优化后的代码如下:
```c++
#include <iostream>
#include <string>
#include <sstream>
#include <chrono>
#include <thread>
void Slow_display(const std::string& a, int times) {
std::stringstream ss(a);
std::string line;
while (std::getline(ss, line)) {
for (auto t : line) {
std::cout << t;
std::this_thread::sleep_for(std::chrono::milliseconds(times));
}
std::cout << std::endl;
}
}
int main() {
std::cout << "邀请函:\n\n\n";
Slow_display("6月11日我们将拍毕业照,欢迎您的参加。\n", 30);
Slow_display("时间:2023年6月11日7:30 - 12:00\n", 100);
std::cout << "地点:灯湖三小603班教室\n";
std::cout << "参与者:全班的同学和教过我们的老师们^_^\n\n\n";
std::this_thread::sleep_for(std::chrono::milliseconds(2000));
Slow_display("期待您的参与!", 30);
return 0;
}
```
优化后的代码更加清晰简洁,同时也更加可读和易于维护。
阅读全文