본문 바로가기 메뉴 바로가기

코딩 연습장

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

코딩 연습장

검색하기 폼
  • 분류 전체보기 (13)
    • C++ (1)
    • Algorithm (11)
      • BOJ (11)
      • Codeforces (0)
    • Time Killing (1)
  • 방명록

C++ (1)
[C++/STL] pop의 반환값이 없는 이유

문득 드는 생각. 나는 대학교에서 자료구조를 배울 때 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
이전 1 다음
이전 다음
공지사항
TAG
  • STL
  • BigInteger
  • 게임
  • DP
  • DFS
  • DisjointSet
  • greedy
  • prefix-sum
  • +lv1
  • SWEA
  • C
  • Brute-force
  • 코드포스
  • 재귀
  • 숏코딩
  • 인접리스트
  • big-o
  • +lv2
  • graph
  • backtracking
  • +lv3
  • 정수론
  • C++
  • OfflineQuery
  • 백준
  • Combinatorics
  • 조합
  • Stack
  • 알고리즘
  • 슬라이딩윈도우
more
링크
Total
Today
Yesterday
«   2025/12   »
일 월 화 수 목 금 토
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

Blog is powered by Tistory / Designed by Tistory

티스토리툴바