디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅆㅇㅆ(124.216) 2025.07.04 00:22:09
조회 105 추천 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/07 - -
2869886 일본 지진 예언서 내가 본 미래 발명도둑잡기(118.216) 07.05 45 0
2869885 제1장: 러스트 언어 소개 및 주요 특징 루비갤로그로 이동합니다. 07.05 48 0
2869881 좋은 주말이다. [3] 개멍청한유라갤로그로 이동합니다. 07.05 54 0
2869879 50704 박진영 인스타 | 워터밤 2025 발명도둑잡기(118.216) 07.05 37 0
2869878 병신이 llm쓰면 병신력이 강화될 뿐이다. 프갤러(110.8) 07.05 53 1
2869877 수민슬롬(SUMIN Slom) DS [City View / 그녀] 발명도둑잡기(118.216) 07.05 29 0
2869876 형님들 고1 컴공과 해도 되는지 판단좀 프갤러(116.46) 07.05 59 0
2869874 겨울,가을 일본은 천국⭐+ [1] ♥냥덩이♥갤로그로 이동합니다. 07.05 37 0
2869872 세무서는 세금 수사하고 검찰은 학교폭력 및 여성 폭력 수사하고, 글이와전 넥도리아(112.170) 07.05 40 0
2869871 러스트 어쩌고 저쩌고 진짜 궁금한게 [3] 프갤러(106.254) 07.05 68 3
2869870 예체능은 어릴때부터 해야됨 [2] 밍꼬리갤로그로 이동합니다. 07.05 64 0
2869869 수집가. 넥도리아(112.170) 07.05 32 0
2869868 나 구글 다니는데 알려준다 [6] 프갤러(68.98) 07.05 142 0
2869867 취미로 딥러닝 공부중인데 이걸로 돈벌수 있음?? [1] ㅇㅇ(118.235) 07.05 65 0
2869866 여름에 뛰지 마세양⭐ ♥냥덩이♥갤로그로 이동합니다. 07.05 46 0
2869865 러스트 빼박 증거로 최종 결론 내도록 목차 새로 짰다. [3] 루비갤로그로 이동합니다. 07.05 72 1
2869862 아스카 부모님에게 고마운 점: [8] 아스카영원히사랑해갤로그로 이동합니다. 07.05 122 1
2869860 러스트 빠 = 러시아 빠돌이 러시아 쉴드칠 시 아이오쉴드 압수 넥도리아(112.170) 07.05 37 0
2869858 ㅋㅋㅋ아닠ㅋ전공인지아닌지 기업에서는그거봐 [8] 프갤러(106.101) 07.05 154 4
2869857 러스트 빠돌이 새끼들: 대체 용어 재정의 이것도 다룰 거다. [2] 루비갤로그로 이동합니다. 07.05 43 0
2869856 러스트) AI까지 러스트에 편향되었네 루비갤로그로 이동합니다. 07.05 78 0
2869854 국비라도 듣는게 낫지 [5] ㅆㅇㅆ(124.216) 07.05 175 1
2869852 아니 아직도 학원말믿고 국비듣는 애들있음?ㅋㅋㅋ 프갤러(106.101) 07.05 108 1
2869850 13000원 벌고왔다 ㅆㅇㅆ찡갤로그로 이동합니다. 07.05 43 0
2869849 너무 싸게 올렸나... 나 손해보고 살아요. 넥도리아(112.170) 07.05 59 0
2869848 자 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 07.05 34 0
2869846 거의 맨날 가는곳.. ㅇㅅㅇ [3] 헤르 미온느갤로그로 이동합니다. 07.05 73 0
2869844 방 배치 팁좀. 넥도리아(112.170) 07.05 31 0
2869842 디시 프갤 steady5513 누군지 아시는분? 넥도리아(112.170) 07.05 39 0
2869841 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 07.05 32 0
2869840 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 07.05 50 0
2869839 ❤✨☀⭐나님 시작합니당⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 07.05 45 0
2869834 스위치 사지 말아야겠다. ㅠㅠㅠ 넥도리아(112.170) 07.05 40 0
2869826 윤석열 탄핵 선고 이후 출산율 증가 [4] 야옹아저씨갤로그로 이동합니다. 07.05 105 1
2869822 글을 대충 검토하고 ㅎㅎ 나중에 문제 삼으면 수정하고 그래야겠어 루비갤로그로 이동합니다. 07.05 39 0
2869821 클라개발이면 기초정도는 만든게 있으니 기초정도는 있어서 ㅆㅇㅆ(124.216) 07.05 55 0
2869820 개인적으로 학생에게 주고 싶은 웹 경험은 이건데 [1] ㅆㅇㅆ(124.216) 07.05 95 0
2869818 일단 자고 일나서 해야겄다. 오늘 작업 문서화하고 ㅆㅇㅆ(124.216) 07.05 36 0
2869817 어떻게 학생에게 실패 경험을 주고, 자연스럽게 다음 개념을 주입할까 [2] ㅆㅇㅆ(124.216) 07.05 68 0
2869814 내일 일어나서 학생 플라스크 웹 기초 과외해야하는데 폴더구조를 [7] ㅆㅇㅆ(124.216) 07.05 87 1
2869813 망 구축 귁를 파서 전화못받음. 넥도리아(121.139) 07.05 78 0
2869773 핸드폰이 카톡이랑 이런저런 어플 업데이트 안해줌. 넥도리아(175.196) 07.05 48 0
2869764 시공 시공시 유의사항 [4] 넥도리아(223.38) 07.05 72 0
2869763 나님 탈갤합니당..⭐+ [3] ♥냥덩이♥갤로그로 이동합니다. 07.05 81 0
2869760 공유기 다리 최초 공개 넥도리아(223.38) 07.04 75 0
2869759 저 아래 제미나이 프론트 웹보안 만든애 똑똑하노 ㅆㅇㅆ(124.216) 07.04 69 0
2869757 ㄹㅇ 제미나이 레전드 [5] 프갤러(58.226) 07.04 133 0
2869756 멍퀴벌레 요즘 계속 까불어? [2] ♥냥덩이♥갤로그로 이동합니다. 07.04 64 0
2869755 파이 인스톨러는 왜 이리 오래걸릴까 [1] ㅆㅇㅆ(124.216) 07.04 50 0
2869754 내일 냥덩이글이 안 올라오면 모두 기도해주세양..⭐+ [1] ♥냥덩이♥갤로그로 이동합니다. 07.04 63 0
뉴스 서민정, 美서 반가운 소식 “하이킥 20여년…늙은 모습 실망할 듯” 디시트렌드 07.07
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2