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

발아 바라 프로그래밍

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

발아 바라 프로그래밍

검색하기 폼
  • 분류 전체보기 (56)
    • Unreal Engine 4 (4)
    • C++ (45)
      • Effective Modern C++ (40)
    • 프로그래밍 (3)
    • 식물기르기 (2)
    • 티스토리 (1)
  • 방명록

함수 뒤의 const (1)
[Effective Modern C++] 항목 16. const 멤버 함수를 스레드에 안전하게 작성하라

멤버 함수가 멤버 변수들을 수정하지 않는다면 const 로 선언하는 것이 자연스럽다. 그런데 스레드를 사용한다면 문제가 생길 수 있다. 예시를 통해 살펴보자. mutex의 사용 다음은 다항식의 근을 구는 함수 roots 를 구현하는 상황이다. 성능 향상을 위해 캐싱을 이용하였으며, rootsAreValid 의 값을 이용하여 캐싱 여부를 판별하는 함수이다. class Polynomial { public: using RootsType = std::vector; RootsType roots() const { if(!rootsAreValid) { ... rootsAreValid = true; } } private: mutable bool rootsAreValid{ false }; mutable RootsType..

C++/Effective Modern C++ 2019. 10. 30. 23:57
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • Perfect
  • Unreal
  • 람다
  • 발아시기
  • C
  • CPP
  • C++
  • const
  • Future
  • async
  • C++11
  • std::move
  • thread
  • detach
  • 보편 참조
  • MOVE
  • Effective Modern C++
  • Overloading
  • std::forward
  • Join
  • Effective
  • Modern
  • 다이소
  • C++14
  • 포인터
  • Override
  • Forwarding
  • 보편참조
  • forward
  • auto
more
«   2025/05   »
일 월 화 수 목 금 토
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

티스토리툴바