디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅆㅇㅆ(124.216) 2025.07.04 00:22:09
조회 173 추천 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/11/10 - -
AD 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
2869773 핸드폰이 카톡이랑 이런저런 어플 업데이트 안해줌. 넥도리아(175.196) 07.05 83 0
2869764 시공 시공시 유의사항 [4] 넥도리아(223.38) 07.05 125 0
2869763 나님 탈갤합니당..⭐+ [3] ♥냥덩이♥갤로그로 이동합니다. 07.05 126 0
2869760 공유기 다리 최초 공개 넥도리아(223.38) 07.04 116 0
2869759 저 아래 제미나이 프론트 웹보안 만든애 똑똑하노 ㅆㅇㅆ(124.216) 07.04 132 0
2869757 ㄹㅇ 제미나이 레전드 [5] 프갤러(58.226) 07.04 247 0
2869756 멍퀴벌레 요즘 계속 까불어? [2] ♥냥덩이♥갤로그로 이동합니다. 07.04 112 0
2869755 파이 인스톨러는 왜 이리 오래걸릴까 [1] ㅆㅇㅆ(124.216) 07.04 93 0
2869754 내일 냥덩이글이 안 올라오면 모두 기도해주세양..⭐+ [1] ♥냥덩이♥갤로그로 이동합니다. 07.04 106 0
2869753 이재명 대통령씨 말 잘하지않냐? [5] 헬마스터갤로그로 이동합니다. 07.04 130 1
2869751 개발 체계도 딱히 없고 다들 재량껏 하는데 [3] hrin(118.235) 07.04 133 0
2869750 근데 아래 이직 이야기보면 내가 느끼는건데 [4] ㅆㅇㅆ(124.216) 07.04 214 0
2869749 일존나맘ㅎ은데 어카냐 hrin(118.235) 07.04 77 0
2869747 내키지 않는 방식으로 코딩하려니까 너무 좆같다 [1] hrin(118.235) 07.04 106 0
2869746 10시 20분까지 야근했다 hrin(118.235) 07.04 99 0
2869745 역시 임베디드 회사는 어쩔 수 없구나 [2] hrin(118.235) 07.04 217 0
2869744 이직각이 잡힌다 [9] 프갤러(221.167) 07.04 228 0
2869739 환타 메론소다맛 맛있나 프갤러(113.59) 07.04 92 0
2869738 견년다 덥다 넥도리아(223.38) 07.04 109 0
2869737 야 더워 넥도리아(223.38) 07.04 75 0
2869736 지금까지 속고있던 한국인들 ㅇㅇㅇㅇ(124.198) 07.04 94 0
2869735 파이썬으로 코딩첨배우고있는데 [4] 프갤러(119.207) 07.04 181 0
2869734 211.234, 211.235 이 아이피 쓰는 위에 저놈 몇년째 저러는놈 [5] 프갤러(140.248) 07.04 174 5
2869733 디씨에 마지막으로 물음. 23살이면 아직 원코 남았냐?? [2] ㅇㅇ(223.38) 07.04 109 0
2869731 아스카 얘기보고 올만에 스승님한테 디코로 연락드렸다 [2] ㅆㅇㅆ(124.216) 07.04 123 0
2869730 ai가 게임만들어주는시대인데 할만한게임이 없음.. 뒷통수한방(141.0) 07.04 87 0
2869728 카페간다. [1] 넥도리아(211.234) 07.04 100 0
2869724 코테를 영어로 보면 갑질인가? 프갤러(110.13) 07.04 220 0
2869723 가슴이 답답해 미칠 것 같다. 하루의 적막에 숨이 막혀온다. ㅇㅇ(223.38) 07.04 117 0
2869722 26살 초봉 3300 [1] 프갤러(116.33) 07.04 192 0
2869720 vtable hook 때문에 다렉 api도 보는 중 루도그담당(58.239) 07.04 92 0
2869718 냥덩안마방❤ Open the Bozi~⭐ [2] ♥냥덩이♥갤로그로 이동합니다. 07.04 131 0
2869716 ai로 코딩 처음해보는 전업 개발잔데 [1] 프갤러(27.35) 07.04 191 0
2869715 아 넵 루비훌륭한거 알겠으니까 프갤러(118.37) 07.04 96 0
2869714 ㅆㅇㅆ 왜 취업 안 하는지가 제일 궁금함 [4] ㅇㅇ(121.162) 07.04 268 0
2869713 ㅆㅇㅆ이 제일 신기함 [10] 아스카영원히사랑해갤로그로 이동합니다. 07.04 209 1
2869712 나는조현병이야 나는내향적이야 [2] 손발이시립디다갤로그로 이동합니다. 07.04 92 0
2869711 개발자냐 계발자냐? 자기개발이냐 자기계발이냐? [3] ㅇㅇ(183.100) 07.04 595 0
2869709 tdd도 가짜 코딩 [2] 프갤러(223.33) 07.04 120 0
2869708 나님 일찍 주무셧다운 새벽 4시 기상⭐+ ♥냥덩이♥갤로그로 이동합니다. 07.04 89 0
2869706 국민의힘 차단사유 김정숙 문재인 책 언급했다가 넥도리아(175.196) 07.04 146 0
2869704 나님 지진대비 밤 새기 대작전⭐+ ♥냥덩이♥갤로그로 이동합니다. 07.04 72 1
2869703 좀 억울한게 너네는 회사 다니잖아. 난 여기 아니면 하루종일 [6] ㅆㅇㅆ(124.216) 07.04 143 0
2869701 너네 요즘 TDD 만든 켄트 백이 바이브 코딩에 빠진거 아냐 [2] ㅆㅇㅆ(124.216) 07.04 187 0
2869700 이거 공유좀 중요함 배터리 국민의힘에 갈거 넥도리아(175.196) 07.04 145 0
2869698 프갤 조현병자 한명 심하다고 생각하는게 뭐냐면 [13] ㅆㅇㅆ(124.216) 07.04 230 0
2869697 영피프티는 싸피를 무슨 굽삐삐로 아네 [8] 아스카영원히사랑해갤로그로 이동합니다. 07.04 207 0
2869696 26살 졸업생 [5] 프갤러(220.65) 07.04 153 0
2869695 씨발 뚱남 육수 [3] 개멍청한유라갤로그로 이동합니다. 07.04 113 0
2869693 국비학원 다닐까? [4] 프갤러(175.121) 07.04 543 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2