C++ 코딩 정리/코딩 팁3 [C++ STL] pair 에서 make_pair 대체 문제 c++ 문제 풀 때 구조체 쓰기 귀찮고 인자를 묶고 싶을 때 보통 pair를 쓰곤 한다. 손이 편하면 머리가 힘들어지는 법, 외워야하는 게 더 늘어나기 마련이다. 그 중 하나가 pair에서 make_pair를 쓰는 것인데, 일단 make_pair 자체가 9자나 되고 한 소스 안에 pair를 이용한 코드들이 많이 들어있다면 손이 힘들어질 수있다.( 사실 억지긴 하다.) 그래서 make_pair을 안쓰고 pair에 값을 담아줄 수있는 코드를 찾아보게 되었다. 해결 우리는 c++ 11 이상부터 pair에 초기화 리스트를 사용할 수있다고 한다. 중요한 점은 c++ 11 버전이상부터 라는 점이다. ( 이걸 못보고 나중에 글쓴이를 욕하지 마라. ) 사용 법은 매우 간단하다. make_pair() 대신 {} 로.. 2020. 3. 22. c++ ios::sync_with_stdio(false), cin.tie(NULL)은 무엇인가. 고수들의 C++ 소스코드를 보면 항상 다음과 같은 코드가 써져있다. ios::sync_with_stdio(false); cin.tie(NULL); 먼저, 첫번째 줄을 보자. ios::sync_with_stdio(false); c++을 할 때 c 표준 스트림과 c++ 표준 스트림은 동기화 되어있다고 한다. 그렇기에 우리는 cin도 쓸 수있고 scanf도 쓸 수있는 것이다. 하지만, 뭐든 많으면 느려지는 법. 고수들은 두 가지 동기화로 인한 시간 초과를 막기 위해 한가지를 끊고 cin, cout만 쓰기 위해 위와 같은 코드를 쓴다고 한다. 다음으로 두번째 줄을 보자. cin.tie(NULL); cin을 cout로부터 untie 한다고 한다. (stack overflow에 뭐라고 적혀있는 데 더 공부해봐야겠다.. 2020. 3. 20. 신기) 변수 초기화 후 초기화 한 변수로 for문 돌릴 시 기존 값 유지 다른 분들의 문제 해설 소스코드를 보다가 신기한 점이 있어서 가져와봤다. #include using namespace std; int main(){ int a=12345; for(int a=0; a 2020. 3. 20. 이전 1 다음