디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅆㅇㅆ(124.216) 2025.07.04 00:22:09
조회 127 추천 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/14 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
2871322 좋은 주말이다. [9] 개멍청한유라갤로그로 이동합니다. 07.13 67 0
2871320 진지하게 중소어케다니냐 [13] 프갤러(106.101) 07.13 215 0
2871318 바이브 타기보단 정량적으로 정해놓는게 좋음 [1] ♥로스트미디어냥덩이♥갤로그로 이동합니다. 07.13 34 0
2871316 강아지 ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 07.13 29 0
2871314 태연 ㅇㅅㅇ [1] 헤르 미온느갤로그로 이동합니다. 07.13 29 0
2871312 하루 한 번 헤르미온느 찬양 [2] 헤르 미온느갤로그로 이동합니다. 07.13 30 0
2871310 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ [1] ♥로스트미디어냥덩이♥갤로그로 이동합니다. 07.13 29 0
2871308 자바 입문 떼려는데 자바의 정석 vs 자바의 신 [7] ㅇㅇ갤로그로 이동합니다. 07.13 68 0
2871306 격투기 할 때 한명이 아무리 챔피언이라도 아마추어 두명이 대들면 발명도둑잡기(118.235) 07.13 42 0
2871304 촘스키 "미국은 부자에게는 사회주의, 가난한 사람에게는 자본주의" 발명도둑잡기(118.235) 07.13 37 0
2871303 코딩 입문자 자바 위주로 하려는데 [2] 프갤러(49.167) 07.13 70 0
2871301 영업기밀은 열린사회의 적인가 발명도둑잡기(118.235) 07.13 63 0
2871300 부가가치를 높이기 위해 영업기밀을 숨겨서 정보비대칭을 만들며 독과점을 만 발명도둑잡기(118.235) 07.13 43 0
2871298 소니가 고장없는 제품 만들기를 목표로 하다가 고장 잘 나도 AS 수리로 [1] 발명도둑잡기(118.235) 07.13 69 0
2871297 소니가 고장없는 제품 만들기를 목표로 하다가 고장 잘 나도 AS 수리로 발명도둑잡기(118.235) 07.13 64 0
2871295 사회주의 기술 장인과 자본주의 기술 장인 차이점 [1] 발명도둑잡기(118.235) 07.13 24 0
2871293 제이콥 닐슨의 10가지 사용성 평가 기준 발명도둑잡기(118.235) 07.13 30 0
2871291 음기 충전 발명도둑잡기(118.235) 07.13 25 0
2871289 C 메모리 실수 발명도둑잡기(118.235) 07.13 34 0
2871286 vala 메모리 실수 발명도둑잡기(118.235) 07.13 26 0
2871284 carbon 메모리 실수 발명도둑잡기(118.235) 07.13 36 0
2871282 C++ 20 이상 메모리 실수 [1] 발명도둑잡기(118.235) 07.13 76 0
2871281 rust 메모리 실수 [1] 발명도둑잡기(118.235) 07.13 39 0
2871280 vale 언어 메모리 실수 [1] 발명도둑잡기(118.235) 07.13 33 0
2871279 nim 언어 메모리 실수 [1] 발명도둑잡기(118.235) 07.13 36 0
2871277 D 언어 메모리 실수 [1] 발명도둑잡기(118.235) 07.13 35 0
2871276 odin 메모리 관리 실수 줄이기 [1] 발명도둑잡기(118.235) 07.13 35 0
2871274 zig 언어 메모리 수동관리 c보다 실수 적게 만들었나 [3] 발명도둑잡기(118.235) 07.13 38 0
2871272 디씨 극우 등신새끼들은 assembl-y를 차단어로 설정해 국회 청원을 [2] 발명도둑잡기(118.235) 07.13 37 0
2871270 si 이상으로 에이전시는 더 별루야 [1] 피치피(183.101) 07.13 35 0
2871269 인터프리터 아니고 컴파일 되는 자바스크립트나 타입스크립트 문법 언어 [2] 발명도둑잡기(118.235) 07.13 38 0
2871267 git이 SVN을 능가하는 최고 장점이 수익화하기 편하다는거 [6] ㅆㅇㅆ(124.216) 07.13 81 0
2871266 그놈이 느려진 이유가 자바스크립트 많이 써서인가 [5] 발명도둑잡기(118.235) 07.13 45 0
2871264 난 정말 뭐할까 ㅠ [3] 피치피(183.101) 07.13 50 0
2871263 git이 표준이 된 이유는 github 소셜이 큰거 같음 [8] ㅆㅇㅆ(124.216) 07.13 73 0
2871262 나는 암만 생각해도 SVN이 더 편한거 같은데 [1] ㅆㅇㅆ(124.216) 07.13 45 1
2871261 svn에서 깃 전환하고 느낀것인데 [7] ㅆㅇㅆ(124.216) 07.13 60 0
2871260 환자가 천천히 나을수록 의사는 돈을 더 번다는 역설 [1] 발명도둑잡기(118.235) 07.13 31 0
2871258 근데 삼촌 빡고수라던데 왜 프갤 탈퇴한거냐 [3] ㅆㅇㅆ(124.216) 07.13 61 0
2871256 computer란 사라진 직업 발명도둑잡기(118.235) 07.13 36 0
2871254 문화계 만난 이 대통령 “예술인 기본소득 필요” 발명도둑잡기(118.235) 07.13 28 0
2871252 방금 전 뜬 9GAG 릴스 혼자 하는 테니스 릴스 영상 보니 발명도둑잡기(118.235) 07.13 22 0
2871251 삼촌이 100% 자동화 백엔드 도구 만들었던데 [1] 프갤러(183.101) 07.13 63 0
2871250 동양철학:남에게 받은건 바위에 새기고, 도운것은 모래에 새겨라 ㅇㅇ(183.101) 07.13 19 0
2871249 오늘의 소설, 영화 실마리: 일제와 나치의 동맹과 몰락 이야기 발명도둑잡기(118.235) 07.13 31 0
2871247 '노동존중' 이재명 정부와 최저임금법 제1조[노동TALK] 발명도둑잡기(118.216) 07.13 27 0
2871246 히틀러에게 훈장을 받은 일본 해군장교 발명도둑잡기(118.216) 07.13 19 0
2871243 오늘의 영상 기획 실마리: 컴퓨터 팬으로 드론 발명도둑잡기(118.235) 07.13 23 0
2871242 탑골공원은 일제의 압제를 뚫고 기미독립선언을 했던 장소임 발명도둑잡기(118.235) 07.13 24 0
2871240 냥덩이 똥구멍 찢길 예정 발명도둑잡기(118.235) 07.13 32 0
뉴스 정선희, 결혼 1년 만에 남편 사별 후 음모론과 비난으로 고통스러운 시간...17년 만에 심경 고백 디시트렌드 07.11
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2