디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅆㅇㅆ(124.216) 2025.07.04 00:22:09
조회 179 추천 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/12/08 - -
이슈 [디시人터뷰] 솔직함을 리뷰하는 유튜버, 흑백리뷰 운영자 25/12/09 - -
AD AI 가전 디지털 모음전 운영자 25/11/27 - -
2879027 인생이 요즘 노잼이네 [2] ㅇㅇ(61.79) 08.07 146 0
2879026 고통스럽게 다이어트해서 뭐하냐 프갤러(61.79) 08.07 106 0
2879024 비로소 여름이었당☘+ ♥꽃보다냥덩♥갤로그로 이동합니다. 08.07 91 0
2879022 야 이번 OSS 로컬 모델 이거 괜찮네 MCP 붙일 수 있어서 [2] ㅆㅇㅆ(124.216) 08.07 138 0
2879021 리눅스갤에서 팩트말했다고 차단먹음 ㅋㅋㅋ [2] 뒷통수한방(1.213) 08.07 131 0
2879019 정치충들만 사라져도 갤 클린해질듯 [3] 박민준갤로그로 이동합니다. 08.07 187 1
2879017 시각장애인들은 프로그램들에서 충분히 접근성을 갖고있음? [1] 여자아이파티갤로그로 이동합니다. 08.07 146 0
2879016 랭체인,랭그래프만 쓸 줄 알았는데 오히려 Ollma가 상품 개발 안하면 ㅆㅇㅆ(124.216) 08.07 145 0
2879015 Ollma 써보고 있는데 이거 개사기네 내가 LLM 만들어도 Ollma로 ㅆㅇㅆ(124.216) 08.07 128 0
2879014 마약전과 40대 미국입국불허 ♥꽃보다냥덩♥갤로그로 이동합니다. 08.07 134 0
2879013 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥꽃보다냥덩♥갤로그로 이동합니다. 08.07 103 0
2879012 이따위로 만든 솔루션도 2000받고 파는구나 [1] 아스카영원히사랑해갤로그로 이동합니다. 08.07 157 0
2879010 gpt oss가 머냐 자체실행모델이라고? [2] 밀우갤로그로 이동합니다. 08.07 179 0
2879009 OSS 이거 MCP 프로토콜 실행하는 방법 찾아봐야긋노 ㅆㅇㅆ(124.216) 08.07 122 0
2879006 Ollma 써서 OSS 해보려는 세팅 중 [3] ㅆㅇㅆ(124.216) 08.07 145 0
2879004 It 서적 읽을만한거 뭐 있을까 [4] 루도그담당(211.184) 08.07 117 0
2879002 오늘은 그럼 GPT OSS 한번 해봐야지 ㅆㅇㅆ(124.216) 08.07 96 0
2879000 오 oss 읽어보는데 이거 그거네? MCP 서버 붙여놨네 ㅆㅇㅆ(124.216) 08.07 90 0
2878996 퇴사하고 일자리 알아보는데 쉽지않네 [3] ㅇㅇ갤로그로 이동합니다. 08.07 227 0
2878993 1980년대 어셈블리어 마스터 무딱갤로그로 이동합니다. 08.07 136 1
2878991 oss 문서 다 읽고왔는데, 이거 보니까 커스텀 LLM [3] ㅆㅇㅆ(124.216) 08.07 159 0
2878990 gpt oss 이거 로컬 모델인데 실행할 수 있는거임 [2] ㅆㅇㅆ(124.216) 08.07 134 0
2878988 오늘은 어디를 가볼까요? [3] 넥도리아(220.74) 08.07 97 0
2878987 산은 산이요 물은 물이로다 ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 08.07 120 0
2878985 Gpt oss 나왔다는데 [1] 루도그담당(211.184) 08.07 186 0
2878983 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08.07 129 0
2878982 하루 한 번 헤르미온느 찬양 [2] 헤르 미온느갤로그로 이동합니다. 08.07 136 0
2878980 우선 내 코드 볼트에 GOF 23 패턴 구현한후에 [2] ㅆㅇㅆ(124.216) 08.07 124 0
2878976 공부는 매일 적정 시간이 중요한거같애 [1] 루도그담당(211.184) 08.07 177 0
2878975 오늘도 하루 한시간의 MSDN 독파 완료 ㅆㅇㅆ(124.216) 08.07 93 0
2878968 오늘 신문보는데 매일 경제 오보냈더라 ㅆㅇㅆ(124.216) 08.07 144 0
2878967 아아 오늘도 힘들다 ㅆㅇㅆ(124.216) 08.07 97 0
2878962 안철수가 정치하는 게 [2] 배구공(119.202) 08.07 146 0
2878956 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥꽃보다냥덩♥갤로그로 이동합니다. 08.07 89 0
2878955 1루에 1구골줄 감사의 코딩 공기역학갤로그로 이동합니다. 08.07 111 0
2878953 나님 앙! 했어양❤+ ♥꽃보다냥덩♥갤로그로 이동합니다. 08.07 91 0
2878952 인재사건사고참사는 역시 대.재.명 ♥꽃보다냥덩♥갤로그로 이동합니다. 08.07 136 0
2878936 지진 ♥꽃보다냥덩♥갤로그로 이동합니다. 08.07 112 0
2878904 어우 추워 ♥꽃보다냥덩♥갤로그로 이동합니다. 08.07 122 0
2878892 나는 국비강사하면서 많이해쳐먹었으니 국비 없애도됌 ㅎㅎ 뒷통수한방(1.213) 08.07 180 0
2878891 간철수 특 ) 어쌤블리어로 코딩했다면서 [11] 뒷통수한방(1.213) 08.07 208 0
2878890 국비,부트캠프 먼저 없애야함 슬라임킹갤로그로 이동합니다. 08.07 296 0
2878885 프갤은 찢재명갤로 이름바꿔야지 [1] 뒷통수한방(1.213) 08.07 123 0
2878883 깃헙은 왜 착한 애들밖에 없음? [3] 프갤러(58.29) 08.07 192 0
2878881 이어폰 고무캡이 문제인듯... 테스트 해보겠음. 넥도리아(220.74) 08.07 73 0
2878880 이어폰 설정 넥도리아(220.74) 08.07 123 0
2878878 9가 제일 좋음 7~8 소리 크기 넥도리아(220.74) 08.07 93 0
2878877 4차산업으로 뭐 제대로 이루어진게 1개도없누 뒷통수한방(1.213) 08.07 113 0
2878876 음량이 70-80이었어... 바로 줄여야지. 20으로 넥도리아(220.74) 08.07 133 0
2878875 한남들 쌍욕박는거보다 업무처리가 미숙하시네요 [1] 헬마스터갤로그로 이동합니다. 08.07 93 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2