# 【4-0】進階架構 對於三級分以上的題目,有些時候會出現TLE(Time Limit Exceeded,超出時間限制)的狀況,而除了程式本身的複雜度之外,有一部分的原因是輸入輸出操作(I/O)的效率過低。 為了解決這個問題,我們會在程式碼開頭額外加上這兩行。而這就是我們未來寫程式的起手式: ## 起手式 ```cpp= #include <bits/stdc++.h> using namespace std; //副函式撰寫區 int main() { ios::sync_with_stdio(0); // 關閉 C++ 流和 C 流的同步 cin.tie(0); // 取消 cin 和 cout 的綁定 return 0; } ``` 你可能很好奇為什麼有個副函式撰寫區,那就是我們接下來要學的內容,我們終於不用把程式碼全部寫在 `main()` 裡面了! ### ios::sync_with_stdio(0) C++ 的 `iostream`(如 `cin` , `cout`)和 C 標準庫中的 I/O 函數(如 `scanf`, `printf`)默認是同步的,也就是說,在C++中,你仍然可以使用 `scanf`, `printf` 。不過,這樣的同步機制會增加不必要的性能開銷。 ### cin.tie(0) 默認情況下,C++ 的 `cin` 和 `cout` 是互相綁定的。每當你使用 `cin` 進行輸入時,C++ 會自動刷新 `cout` 的緩衝區,以確保所有尚未顯示的內容會在輸入操作之前顯示出來。這樣的設計可以保證輸出和輸入的順序,但同時也會增加性能開銷。 --- 聯絡方式:codecodefunny@gmail.com 最後編修時間:2025/07/03 子柚筆
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up