header : <cstdio> or <stdio.h>
printf("%d", 1); // compile : O, Error : X //
printf("&f", 1); // compile : O, Error : O //
int n;
scanf("%d", &n); // O //
scanf("%d", n); // X //
header : <iostream>
#include<iostream>
using namespace std;
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
위 코드를 main()함수에 적으면 기존보다 더 빨라진다.
ios_base::sync_with_stdio(false);이라는 코드가 C와 C++ 표준 stream과의 동기화를 끊고, C++ stream이 독립적인 buffer를 사용하게 해, 별도의 동기화 시간 없이 사용 가능해지며, 속도가 향상되는 것이다.
이때 유의할 점은 동기화를 끊었기에, stdio 소속 함수(printf, scanf, getchar)는 사용할 수 없어짐을 명심하자.
참고 자료
[C++] cout과 printf의 차이 정리
cout <iostream> C++의 스트림 유형의 객체 출력하려는 값의 자료형을 컴파일러가 검사할 수 있다. ...
blog.naver.com
https://tech-tree.tistory.com/49
C 에서의 printf와 C++의 cout의 차이점?
가장 큰 차이라면 cout은 출력하려는 값의 형(type)을 컴파일러가 검사할 수 있는 반면에 printf()는 그렇지 못하다는 것입니다. 따라서 버그가 발생할 확률이 높습니다. 예를 들어 /* C program */#include
tech-tree.tistory.com
https://eehoeskrap.tistory.com/260
[C] printf 출력형식 %d %i %u %X %x %o %p %s %c %C %f %e %E %g %G
printf 출력 형식 %d %i %u %X %x %o %p %s %c %C %f %e %E %g %G type (형) : 인수의 형을 지정 d int값을 부호있는 10진수로 출력 i d와 같음 u int값을 부호없는 10진수로 출력 X int값을 부호없는 16진수로 출력 10~15
eehoeskrap.tistory.com
sync_with_stdio(false) cin.tie(NULL) cout.tie(NULL)
C++ 입출력 속도 C++의 cin과 cout은 scanf와 printf보다 속도가 느리다. 출력은 큰 차이는 아니지만 입력같은 경우는 2배 이상의 속도 차이가 난다.
ip99202.github.io