알고리즘/c++ 잡기술

c++ std::cout 잡기술

Mosu(정종인) 2022. 11. 29. 01:44
반응형

cout을 사용할 때 std::endl을 사용하면 시간이 오래 걸린다. 알고리즘 풀 때 endl은 사용하지 말자. 개행문자를 대신 출력해주자.

cout에서 출력할 때 조건?을 걸 수 있다.

for(int i=0; i<10; ++i){
    cout << "i : " << i << "\n"[i==0];
}

이걸 출력하면 어떤 결과가 나올까?

i : 0i : 1
i : 2
i : 3
i : 4
i : 5
i : 6
i : 7
i : 8
i : 9

신기하지 않은가? 이런건 마지막 문자의 공백을 if문으로 처리하기 귀찮을 때 종종 써먹을 수 있을 것 같다.
예를 들어 "==1 2 3 4 5 6 7 8 9 10=="을 ""없이 출력한다고 치면, 다음과 같이 작성하면 된다.

cout << "==";
for(int i=1; i<=10; ++i){
    cout << i << " "[i==10];
}
cout << "==";


// 출력 값 : ==1 2 3 4 5 6 7 8 9 10==
반응형