문득 드는 생각. 나는 대학교에서 자료구조를 배울 때 pop에 반환 값이 있는 형태로 배웠는데, 왜 STL에선 pop과 top을 나눠놓았을까? 에 대한 이유이다. 우선 STL stack의 pop, top 함수의 원형을 살펴보면 다음과 같다. void pop( ) { c.pop_back( ); } reference &top( ) { return (c.back( )); } pop은 맨 위의 요소를 버리는 연산, top은 맨 위의 요소를 반환하는 연산이다. Java처럼 pop 연산이 맨 위의 값을 꺼내서 반환하는 일반적인 스택과는 다소 차이가 있다. STL에서 top과 pop을 분리한 데는 여러 이유가 있다. Command–query separation(CQS) 원칙을 지키기 위해서가 될 수도 있고, 효율이 ..
C++
2019. 10. 20. 12:46
공지사항
TAG
- STL
- BigInteger
- 게임
- DP
- DFS
- DisjointSet
- greedy
- prefix-sum
- +lv1
- SWEA
- C
- Brute-force
- 코드포스
- 재귀
- 숏코딩
- 인접리스트
- big-o
- +lv2
- graph
- backtracking
- +lv3
- 정수론
- C++
- OfflineQuery
- 백준
- Combinatorics
- 조합
- Stack
- 알고리즘
- 슬라이딩윈도우
링크
- Total
- Today
- Yesterday