1

I have frequently encountered people writing in their c++ code ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);. I do not understand what exactly is the reason of printf() and scanf() being faster than cout and cin. I understand that cout and cin are streams and not functions. However, I am more curious to know what is the underlying mechanism which makes cout and cin slower than printf() and scanf().

Jonathan Leffler
  • 730,956
  • 141
  • 904
  • 1,278
Pikachu
  • 304
  • 3
  • 14
  • 1
    `cin` and `cout` are tied together by default. Performing a read on `cin` first flushes `cout` if it has buffered data waiting to be output. C functions like `printf()` and `scanf()` are not similarly tied together – Remy Lebeau Jan 24 '20 at 06:10
  • 1
    [This post](https://stackoverflow.com/questions/896654/cout-or-printf-which-of-the-two-has-a-faster-execution-speed-c) can be helpful. – Yunus Temurlenk Jan 24 '20 at 06:14

0 Answers0