C++ cin速度優(yōu)化詳解
如下所示:
std::ios::sync_with_stdio(false);
很多C++的初學者可能會被這個問題困擾,經(jīng)常出現(xiàn)程序無故超時,最終發(fā)現(xiàn)問題處在cin和cout上,(甚至有些老oier也會被這個問題困擾,每次只能打scanf和printf,然后一堆的占位符巨麻煩),這是因為C++中,cin和cout要與stdio同步,中間會有一個緩沖,所以導致cin,cout語句輸入輸出緩慢,這時就可以用這個語句,取消cin,cout與stdio的同步,說白了就是提速,效率基本與scanf和printf一致。
然后就可放心的使用cin,cout了。
其實using namespace std;之后就可以:
ios::sync_with_stdio(false);
使用注意
取消流同步以后,stdio中帶有的scanf()和printf()輸入輸出的內部同步也會被取消(大概是這樣的,如果有誤請聯(lián)系博主更正),這時候再用scanf()和printf()就可能會出玄學錯誤,所以用的時候也要注意。最好此時不要與scanf()混用
另外,如果使用文件輸入輸出的話,一定記住要把這條語句放在freopen()后面,反正也會出西西,但是具體問題博主也不太清楚。。。
補充知識:解決c++ cin,cout 輸入輸出效率低導致運行結果超時的問題
在做pat的時候,遇到超時問題,首先考慮算法問題,當算法沒問題的時候,就要考慮輸入輸出問題,cin和cout的效率比較低,有兩種解決方法。
1.把cin和cout改為scanf和printf
2.不改動cin和cout,在代碼中加入代碼段:
ios::sync_with_stdio(false);
這個代碼段可以大大提高cin和cout的效率問題。
以上這篇C++ cin速度優(yōu)化詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
C語言實現(xiàn)通用數(shù)據(jù)結構之通用集合(HashSet)
這篇文章主要為大家詳細介紹了C語言實現(xiàn)通用數(shù)據(jù)結構之通用集合,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫坐標軸和數(shù)據(jù)不對應、密集的散點圖無法顯示問題解決方法
這篇文章主要介紹了Qt圖形圖像開發(fā)之曲線圖表模塊QChart庫坐標軸和數(shù)據(jù)不對應、密集的散點圖無法顯示問題解決方法,需要的朋友可以參考下2020-03-03C++如何在構造函數(shù)和析構函數(shù)中調用虛擬函數(shù)
這篇文章主要介紹了C++如何在構造函數(shù)和析構函數(shù)中調用虛擬函數(shù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08