디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

차트맨아 C++ 책좀 읽어라 왜곡하지말고 그냥

ㅆㅇㅆ(124.216) 2025.07.04 00:22:09
조회 139 추천 1 댓글 10
														



3db2d977abd828a14e81d2b628f1766e9dab11e6


24b0d121e09c28a8699fe8b115ef046f5d4b919eab



24b0d121e09c28a8699fe8b115ef046b6a6e933e




이 내용 가져오면서 ++98 스타일 긍정했다하는데


그게 아님.


애초에 RAII <- CPP 초창기때부터 함께했지만 대부분 안 지켰음


그래서 그걸 지키게 하기위해서 이동 시맨틱스 도입한게 C++11임


이펙티브 모던 C++이라는 이름답게 '모던 C++'를 가르키는 것.


저 내용 뭔지 설명해줌




24b0d121e09c28a8699fe8b115ef046a7e68e2cf


In C++98, exception specifications were rather temperamental beasts. You had to summarize the exception types a function might emit, so if the function’s implemen‐ tation was modified, the exception specification might require revision, too. Chang‐ ing an exception specification could break client code, because callers might be dependent on the original exception specification. Compilers typically offered no help in maintaining consistency among function implementations, exception specifi‐ cations, and client code. Most programmers ultimately decided that C++98 exception specifications weren’t worth the trouble


->예외명세는 까다롭다. 그리고 클라이언트 코드 깨질 수 있다. 호출자가 예외명세에 의존하고 있었을 가능성이 높아서,

클라이언트 코드 간의 일관성을 전혀 자동으로 보장해주지 않았다


결국 대부분의 프로그래머는 C++98 예외 명세는 사용할 가치 없다고 판단함




24b0d121e09c28a8699fe8b115ef0468e1acecb2


During work on C++11, a consensus emerged that the truly meaningful information about a function’s exception-emitting behavior was whether it had any. Black or white, either a function might emit an exception or it guaranteed that it wouldn’t. This maybe-or-never dichotomy forms the basis of C++11’s exception specifications, which essentially replace C++98’s. (C++98-style exception specifications remain valid, but they’re deprecated.) In C++11, unconditional noexcept is for functions that guarantee they won’t emit exceptions.


->C++11 에서는 상황이 달랐음. 

흑백으로 나눠서 이진 구분을 하게함


즉 C++98 스타일의 예외명세는 문법적으로 유효하나, 더이상 권장되지 않는다.




24b0d121e09c28a8699fe8b115ef046c64f92a4c98



noexcept는 예외를 던지지 않는다는걸 선언하는 방시깅고


c++11 에서는 noexcept 함수가 절대 예외를 발생시키지 않음을 보장함


어떤 함수에서 noexcept를 선언할지 여부가 '인터페이스' 설계의 핵심이라는 걸 보여주는 내용임


그래서 C++98식으로 하라는게 아니라


가능한한 noexcept를 선언해서 모던 C++ 식으로 하되


어쩔 수 없는 상황에서 예외 던지고, C++98식으로 안전 보장하라는거임




24b0d121e09c28a8699fe8b115ef046f5d499a99a1


C++11에서는 copy대신 move를 쓰는게 자연스러운 최적화다(이또한 내가 한 말)


기존 C++98 코드들은 push_back이 강한 예외 안전성을 보장한다나는 가정하에 작성되었지만,


C+11 구현체들은 복사 move로 교체하려면 해당 move 연산이 절대 예외를 던지지 않는다는 사실을 알아야한다라고 설명함



따라서 이전 내 설명대로


C++11 이상으로 '모던'하게 짜라는거지 C++98 내용 따르라는 말이 아니다,



추천 비추천

1

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 반응이 재밌어서 자꾸만 놀리고 싶은 리액션 좋은 스타는? 운영자 25/07/28 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
2877098 오늘 해킹 공부하면서 구현한것 루도그담당(118.235) 08.01 48 0
2877097 주체를 무엇으로 설정하는지가 중요함 쉽고 간단하게 가는 방법 찾아야함 ♥찢명아티스트냥덩♥갤로그로 이동합니다. 08.01 24 0
2877096 나님 귀납적으로 원리 유추능력 ㄱㅆㅆㅅㅌㅊ!! ♥찢명아티스트냥덩♥갤로그로 이동합니다. 08.01 29 0
2877095 윤수괴 감방에서 팬티쇼햇다는구나 [1] 헬마스터갤로그로 이동합니다. 08.01 52 0
2877094 역시 데이터는 거짓말 안 함 ♥찢명아티스트냥덩♥갤로그로 이동합니다. 08.01 23 0
2877093 커피를 몇 잔씩 아이스 커피를 마시는지... 모르겠당. 넥도리아(220.74) 08.01 17 0
2877092 ts 쓸필요없네 [7] 헬마스터갤로그로 이동합니다. 08.01 77 0
2877090 잠을 이상한 자세로 자서 그런강 두통 있넹 ♥찢명아티스트냥덩♥갤로그로 이동합니다. 08.01 20 0
2877089 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥찢명아티스트냥덩♥갤로그로 이동합니다. 08.01 29 0
2877088 "트럼프, 美 소프트파워 스스로 무너뜨려" 발명도둑잡기(39.7) 08.01 26 0
2877087 냥덩이 돌대가리 새끼야 발명도둑잡기(39.7) 08.01 24 0
2877085 "어느 새부터 미국은 안 멋져" 발명도둑잡기(39.7) 08.01 24 0
2877082 바이브코딩? 이거대박이라 ㅇㅇ(218.48) 08.01 96 0
2877077 힙합 갤러리 피 뽑는다는 글 보니 드는 생각 발명도둑잡기(39.7) 08.01 18 0
2877076 성조태극기 부대 성조기 흔들며 미국 관세협상 만세 발명도둑잡기(39.7) 08.01 21 0
2877075 '제시 팬 폭행' 연루 코알라는 살인 전과자? '충격' 주장 발명도둑잡기(39.7) 08.01 22 0
2877074 남편 중요 부위 절단한 50대 범행에 가담 정황…사위 긴급체포 발명도둑잡기(39.7) 08.01 29 0
2877072 이재면씨 대통령 재밋는것같더라 [1] 헬마스터갤로그로 이동합니다. 08.01 59 0
2877068 말할 때 자기 자신을 나님이 어떠시다 말하는 사람 심리 [2] 발명도둑잡기(39.7) 08.01 37 0
2877065 돈이라도 많이 받으면 혼자 일 다 해도 아무말 안하지. [1] 프갤러(59.16) 08.01 41 0
2877064 데이트할 돈도 없고, 돈도 없고, 강연만 들으러 다닐 예정 [2] 넥도리아(220.74) 08.01 45 0
2877063 씨발 날씨 [5] 아스카영원히사랑해갤로그로 이동합니다. 08.01 69 0
2877062 어셈블리어 다루는 중 [5] 루도그담당(118.235) 08.01 75 0
2877061 내가 예전에 개발하던게 polygon nft 인데 [3] 어린이노무현갤로그로 이동합니다. 08.01 51 0
2877060 .env 도 보안에 안좋아서 이번에 aws kms랑 [1] 어린이노무현갤로그로 이동합니다. 08.01 55 0
2877058 외모가 후달려서 짝사랑만 해봐가지고 [4] ㅆㅇㅆ(124.216) 08.01 77 0
2877056 dart에서 생성자부분에 const 붙이는거 보고 프갤러(113.59) 08.01 43 0
2877055 슈뢰딩거의 변기 [2] 개멍청한유라갤로그로 이동합니다. 08.01 41 0
2877054 나도 썸인가 연애인가 해보고싶네 [7] ㅆㅇㅆ(124.216) 08.01 68 0
2877053 나도 큰 프로그램 만들고싶다 [5] ㅆㅇㅆ(124.216) 08.01 60 0
2877052 GDC가 const쓰더라 ㅋㅋㅋㅋㅋㅋ [4] 개멍청한유라갤로그로 이동합니다. 08.01 54 0
2877051 나 눈물날뻔했어 [9] 개멍청한유라갤로그로 이동합니다. 08.01 62 0
2877050 나도 집에서 일할줄아는데 ㅋ 개멍청한유라갤로그로 이동합니다. 08.01 32 0
2877049 인생뭐있나 배구공(119.202) 08.01 23 0
2877047 프로그래밍 하면서 느끼는데 컨벤션이랑 스타일 ㅆㅇㅆ(124.216) 08.01 47 0
2877046 또 해킹 공부 시작하겠습니다 루도그담당(118.235) 08.01 37 0
2877045 일명 참사라고 불리우는 사건들에 대해서 사람들은 정말로 공감이 되는거임? ㅇㅇ(223.39) 08.01 29 0
2877044 그래픽카드 수집가 발명도둑잡기(118.216) 08.01 20 0
2877043 그누보드 어질하네 [1] 프갤러(220.121) 08.01 40 0
2877042 짜다 [1] 배구공(119.202) 08.01 31 0
2877041 const로 도배하는게 최대의 가스라이팅 아니냐? [11] 헬마스터갤로그로 이동합니다. 08.01 80 0
2877039 이건 또 뭐냐 ㅋㅋㅋㅋ.....jpg [7] ㅇㅇ갤로그로 이동합니다. 08.01 63 0
2877037 ai보컬 [1] 배구공(119.202) 08.01 34 0
2877036 공공 SI 클라우드 네이티브 msa 적용 의무화 [1] ㅇㅇ(112.220) 08.01 39 0
2877035 드디어 목요일~~ 하루만 더 버티면 금요일~ [3] 가연아갤로그로 이동합니다. 08.01 37 0
2877034 근데 LLM 나만 함수,메서드 단위로 코드 생성하냐 ㅆㅇㅆ(124.216) 08.01 31 0
2877033 머구 알바 카르텔 진짜임 나도 당해봤다니까 [2] ㅆㅇㅆ(124.216) 08.01 43 0
2877032 대구 알바 카르텔 ㄹㅇ 인가보네 [1] 루도그담당(118.235) 08.01 54 0
2877030 2000 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08.01 24 0
2877029 방금 지피티한테 물어보고 느낀건데 지피티로는 코드 리뷰 못하겠더라 [2] ㅆㅇㅆ(124.216) 08.01 48 0
뉴스 여리(如理)∙Raynes∙Bright World, 7월 5주 차 위클리 키트앨범 스포트라이트 선정! 디시트렌드 08.01
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2