C++輸入輸出資料流加速器,關閉同步流,ios::sync_with_stdio(false)和 cin.tie(0)

來源:互聯網
上載者:User

標籤:int   輸出資料流   做了   緩衝   color   緩衝   參考   com   已耗用時間   

leetcode練習時,總會發現已耗用時間短的代碼都會有類似:

static int x=[](){    std::ios::sync_with_stdio(false);    cin.tie(NULL);    return 0;}();

所以對這幾句代碼做了瞭解:

std::ios::sync_with_stdio(false);

這個函數是一個“是否相容stdio”的開關,C++為了相容C,保證程式在使用了std::printf和std::cout的時候不發生混亂,將輸出資料流綁到了一起。

cin,cout之所以效率低,是因為先把要輸出的東西存入緩衝區,再輸出,導致效率降低,而這段語句可以來打消iostream的輸入 輸出緩衝,可以節省許多時間,使效率與scanf與printf相差無幾,還有應注意的是scanf與printf使用的標頭檔應是stdio.h而不是 iostream。

 

cin.tie(NULL);

tie是將兩個stream綁定的函數,空參數的話返回當前的輸出資料流指標

 

參考文章:https://www.cnblogs.com/PrayG/p/5749832.html

C++輸入輸出資料流加速器,關閉同步流,ios::sync_with_stdio(false)和 cin.tie(0)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.