티스토리 뷰

C++/문법

[C++]C++ 코딩 팁

이경로 2023. 6. 8. 15:20

"\n" vs endl

endl은 출력 버퍼를 비워 주는 flush의 과정을 수행하기 때문에 \n보다 수행시간이 느리다.

 

cin

입력을 여러 번 받을 경우 아래의 코드를 작성하여 cin의 수행시간을 줄일 수 있다.

ios_base::sync_with_stdio(0);cin.tie(0);

 

우선순위 큐 vs 정렬

기본적으로 한 번만 정렬할 경우에는 sort가 우선순위 큐를 생성하는 것보다 빠르다.

하지만 원소의 push와 pop이 빈번하여 정렬을 여러 번 수행해야 할 경우, 우선순위 큐의 속도가 더 빠르다.

 

v.empty() vs v.size() == 0

가독성, 실행 시간 모두 empty가 빠르다.

 

vector vs array

벡터는 크기가 동적이기 때문에 저장할 데이터 개수를 알 수 없을때 사용한다. 하지만 vector는 iterator 기반 접근을 사용하기 때문에 접근 속도가 느리고, array는 index를 바탕으로 접근하기 때문에 속도가 빠르다. 따라서 데이터의 개수를 미리 알 수 있을 때에는 array를 사용하는 것이 좋다.

'C++ > 문법' 카테고리의 다른 글

[C++]간단한 문법 정리  (0) 2023.07.14
[C++]띄어쓰기 포함 입력받기  (0) 2023.07.10
[C++]순열  (0) 2023.07.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함