• 티스토리 홈
starryeye
  • 프로필사진
    starryeye
    • 분류 전체보기 (189)
      • C++ (17)
      • Java (24)
      • OOP (5)
      • Spring Reactive Stack (12)
        • Reactive Streams (3)
        • Netty (4)
        • Reactor (1)
        • Webflux (3)
        • DB, Cache 연동 (1)
      • Spring (90)
        • Core (17)
        • MVC (33)
        • Client (2)
        • Security (4)
        • DB, Cache 연동 (33)
      • DataBase (12)
        • RDBMS (2)
        • NoSQL (10)
      • Message Broker (6)
      • Web (4)
      • Network (4)
      • 대규모 시스템 설계 (15)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [Modern C++ 정리] Move 1
        2022년 09월 07일
        • starryeye
        • 작성자
        • 2022.09.07.:14
        반응형

        temporary에 이어 move에 대해 학습 해보자.

         

        본격적으로 들어가기전에 "&" 키워드의 명칭은 원래 reference로 알고있는 경우가 많은데

        사실 정확한 명칭은 lvalue reference이다.

        "&&" 키워드의 명칭은 rvalue reference 이다.

         

        9 line에서 Point 클래스의 지역 변수 객체 pt를 선언하였다.

         

        규칙 1. non const lvalue reference로는 lvalue만 가리킬 수 있다.

        pt는 lvalue이므로 lvalue reference (r1) 로 가리킬 수 있다. (11 line)

        Point()는 임시객체(rvalue) 이므로 lvalue reference로 가리킬 수 없다. (12 line)

         

        규칙 2. const lvalue reference로는 lvalue, rvalue 모두 가리킬 수 있다.

        15, 16 line

         

        규칙 1, 2 까지는 C++98에 포함된다.

        C++11에서는 상수성 없이 임시 객체를 가리키는 것이 필요했다.

         

         

        규칙 3. C++11에서 나온 rvalue reference는 rvalue만 가리킬 수 있다.

        19, 20 line

         

        <참고>

        const rvalue reference는 rvalue만 가리킬 수 있다..

        하지만 거의 사용되지 않는다.

        (rvalue reference는 주로 move 때문에 사용되는데, const는 move 될 수 없기 때문)

        23, 24 line

        반응형

        'C++' 카테고리의 다른 글

        [Modern C++ 정리] Move 3  (0) 2022.09.08
        [Modern C++ 정리] Move 2  (0) 2022.09.08
        [Modern C++ 정리] Temporary 6  (0) 2022.09.06
        [Modern C++ 정리] Temporary 5  (0) 2022.09.06
        [Modern C++ 정리] Temporary 4  (0) 2022.09.06
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바