Как сказано в TheSamFrom1984, синхронизируется по умолчанию, поэтому это не должно быть проблемой. Однако синхронизация имеет смысл только тогда, когда одни и те же потоки используются обеими библиотеками. Обычно это происходит при использовании cin/cout/cerr и stdin/stdout/stderr соответственно. Однако я вижу несколько причин, по которым нужно использовать оба одновременно, за исключением повторного использования устаревшего кода.
Когда я впервые начал использовать C++, я обнаружил, что делаю это, потому что часто я знал, как делать что-то с помощью stdio, но не знал, как это сделать с помощью iostream, но лучший подход - это выяснить, как это сделать в том или ином, но не в обоих.
Я помню, что сделал некоторый тест, и по умолчанию 'cout' был медленнее, чем' printf', пока я не отключил 'std :: ios_base :: sync_with_stdio', когда' cout' стал быстрее. К сожалению, у меня нет номеров ... – lvella
производительность может быть 10x, в соответствии с banchmarks здесь: [Почему строки чтения из stdin намного медленнее на C++, чем Python?] (Https://stackoverflow.com/questions/ 9371238/почему-это-чтение линий-из-STDIN-гораздо медленнее-в-с-чем-Python? RQ = 1) –