로딩
요청 처리 중입니다...

C++] printf는 이제 그만! format으로 대동단결!

 C++] printf는 이제 그만! format으로 대동단결!

C++을 작업하다보면 가장 빡(?)치는 것 중에 하나가 바로 printf의 사용이라고 생각합니다. print+formatted인건데, 실질적으로 사용할 때 어려운 부분이 한둘이 아닙니다. printf("test %d %s", 10, "test"); 일단 가장 문제가 되는 것이 바로 포맷지정자입니다.

%d를 사용해야하는지, %s를 사용해야하는지 아니면 또 다른 것을 사용해야하는지 등에 대해서 고민할 거리가 많죠. 하지만 다른 언어들에서는 좀 더 쉬운 방법들을 많이 제공합니다. python이나 기타 최신 언어들은 내부에 그냥 대괄호 등을 넣은 뒤에 변수 이름을 바로 쓸 수 있게 해뒀죠.

C++은 최신 버전으로 와서도 아쉽게도 그런 형태의 formatted string을 제공하지는 않습니다. 다만 C#의 형태를 차용해서 사용하고 있습니다. format("Read {} bytes form {}

.", n, "file1.txt"); 그래도 뭐 적어도 %d인지 %f인지 등을 고민할 필요가 없어진...