위의 2줄을 사용하면, 수행속도 증가
안풀리던 문제까지 풀리는 경우가 존재할 정도로 유용.
https://dingcoding.tistory.com/m/62
위의 글을 요약하면,
ios::sync_with_stdio(0)는
C의 printf와 C++의 cout을 혼합하여 사용하는 방식을 제한하여,
cout / cin 계열의 입출력만 지원하게 되면서, 비용을 줄이게 된다.
주의할 점은 해당 코드를 사용하면, printf를 사용할 때 오류
cin.tie(0)
cout << "What is Your Name?? \n" <<;
cin >> name;
위의 경우, cout이 된 후, cin을 하는 것이 강제적이다.
이런 강제성을 cout에게 종속된 cin의 강제성을 푸는 것이 tie 0 이고,
논리적으로 이름을 입력하라고 한 뒤, 입력을 실행하는 것이 맞지만,
코테에서 중요하지 않고, 속도가 향상한다.
결론적으로 scanf/printf보다 cin/cout이 더 오래 걸리지만,
위의 2개의 줄을 추가하면 더 빠르게 실행된다.
하지만, 문제되는 경우가 간혹 존재하는데, 그렇다면 그냥 두 줄을 지우고
printf와 scanf를 사용하면 된다.
endl 대신 '\n' 을 사용해야 시간을 절약할 수 있다.
CPP의 Switch문의 조건으로는, 정수형, enum형의 값만 올 수 있다.
Java와 다르게, switch의 조건으로 string을 놓을 수 없다.
결론적으로, 일반적인 방식으로는 Switch에 String을 사용할 수 없다.
Java가 그립다
std::map를 사용하여 입력을 다음에 매핑 할 수 있습니다
https://stackoverflow.com/questions/3019153/how-do-i-use-an-enum-value-in-a-switch-statement-in-c
STL
사용순
Map
Queue
List
Vector