디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅆㅇㅆ(124.216) 2025.07.04 00:22:09
조회 161 추천 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/10/13 - -
2870026 재활용 할가요 도리스아(112.170) 07.06 61 0
2870025 오늘의 소설, 영화 실마리: 거대 닭이 인간에게 복수 발명도둑잡기(118.216) 07.06 67 0
2870024 요즘 자라나는 새싹들 마인드 ) 크게 통수한방치고 해외로 튀기 뒷통수한방(1.213) 07.06 58 0
2870022 NFT는 저작권 보호 도구인가 저작권 침해 도구인가 발명도둑잡기(118.216) 07.06 96 0
2870021 트위터 창업자 “모든 지재권 법 없애자” 주장 논란…머스크도 맞장구 발명도둑잡기(118.216) 07.06 63 0
2870020 "GPU는 사면서, 데이터는 왜 훔쳐" 빅테크의 질주, 뒤에서 발명도둑잡기(118.216) 07.06 75 0
2870019 어셈블리어 발명도둑잡기(118.216) 07.06 63 0
2870017 내일까지 이거 끝내고 블로그 글 적고 ㅆㅇㅆ(124.216) 07.06 75 1
2870015 이 기사 보는 즉시 비번 바꿔라…구글·애플 160억개 개인정보 유출 발명도둑잡기(118.216) 07.06 69 0
2870014 뭐냐 졸다가 점점 세진다. 강도가... 넥도리아(112.170) 07.06 71 0
2870013 C井と書いて [2] 슈퍼막코더(110.133) 07.06 90 0
2870012 고향가면 구축 2억이면 사는데 ㅇㅇ(118.235) 07.06 80 0
2870011 진앙지가 우리집일까 집 군포로 뜨는데 안양시 동안구인데, 넥도리아(112.170) 07.06 59 0
2870009 정크푸드 케이라면 발명도둑잡기(118.216) 07.05 73 0
2870008 뭐지? 지진? 우리집인가? 40년된 주택 넥도리아(112.170) 07.05 60 0
2870006 고춧가루 ㅇㅇ(117.111) 07.05 60 0
2870004 스마트팜 아두이노로는 턱도 없어서 PLC 해야함 [2] ㅆㅇㅆ(124.216) 07.05 137 0
2870003 나 귀농하려고 스마트팜 아두이노 만들고 있음 [1] 프갤러(14.5) 07.05 125 0
2870002 내얼굴 ㅁㅌㅊ냐 [1] ㅇㅇ(222.108) 07.05 123 0
2870000 GPT로 궁합분석하는 웹사이트를 만들었는데 같이 돈벌어볼 사람있나..? 프갤러(218.152) 07.05 83 0
2869999 윤건영, ‘외환죄’ 정조준.. “‘기밀’ 운운하는 자 내란공범” 발명도둑잡기(118.216) 07.05 117 0
2869998 유니티 라이프 사이클은 템플릿 매서드랑 관련해서 설명했음 [1] ㅆㅇㅆ(124.216) 07.05 105 0
2869997 뉴스1의 ‘삼부토건, 유튜브 운영자 고소’ 보도 이상한 이유 발명도둑잡기(118.216) 07.05 80 0
2869996 나님 목소리 최초 공개❤+ [2/1] ♥냥덩이♥갤로그로 이동합니다. 07.05 122 0
2869995 시간당 13000원에 주 2회 학생 2명 하루 2시간 가르치거든 [2] ㅆㅇㅆ(124.216) 07.05 105 0
2869994 학생한테 zenject를 쓰라고 해야하긴하는데 내 자신이 zenject [2] ㅆㅇㅆ(124.216) 07.05 106 0
2869992 납골공원에 장기두는 할배들이 없구나 [6] 헬마스터갤로그로 이동합니다. 07.05 112 0
2869991 일 존나 빡세게 하니까 벌써 10시고 [2] ㅆㅇㅆ(124.216) 07.05 95 0
2869990 오늘 과외하는 학생에게 가르친것 정리 중 [11] ㅆㅇㅆ(124.216) 07.05 162 0
2869989 원래 병신들이 많은 직업군이냐? [4] ㅇㅇ(218.232) 07.05 110 0
2869988 와근데 이세돌인가 그거하는 애들 해킹 빡고수네 [3] ㅆㅇㅆ(124.216) 07.05 186 0
2869986 패킹 된거 스텁 푸는데 [7] 류도그담당(58.239) 07.05 105 0
2869984 펌웨어나 장비 개발자 좋은 점 [3] ㅇㅇ(223.38) 07.05 139 0
2869982 늙어서 힘들다 ㅆㅇㅆ(124.216) 07.05 69 0
2869981 나님 누엇어양.. 제발 그만해 [1] ♥냥덩이♥갤로그로 이동합니다. 07.05 82 0
2869980 역류기 ip주소 뭔 원리냐? [1] ㅇㅇ(221.155) 07.05 99 0
2869979 펌웨어 개발자 되고싶은 컴공생인데요 [16] 프갤러(118.235) 07.05 242 0
2869978 행복한 휴가 사용계획 개멍청한유라갤로그로 이동합니다. 07.05 83 0
2869977 날이 덥다 개멍청한유라갤로그로 이동합니다. 07.05 65 0
2869976 별이 빛나는 밤⭐+ [1] ♥냥덩이♥갤로그로 이동합니다. 07.05 81 0
2869975 부산시민은 25만원 필요 없어 발명도둑잡기(118.216) 07.05 99 1
2869974 아직도 언어타령하네 ㅋ [20] 개멍청한유라갤로그로 이동합니다. 07.05 170 0
2869972 내가 고는 1주일만에 땟거든? 러스트는 1년째 초급수준 프갤러(110.8) 07.05 74 0
2869970 왜 우리는 노무사 노무진에 열광했나? 한국식 사회고발물의 진실 발명도둑잡기(118.216) 07.05 68 0
2869969 몇살부터 백수면 비정상임? [13] 아스카영원히사랑해갤로그로 이동합니다. 07.05 151 0
2869968 갤에서 러스트 어그로 끄는거보다 그냥 겜 하는게 낫다는 전략적 판단 [6] 프갤러(110.8) 07.05 114 0
2869966 Java가 좋아서 하냐 [4] ㅇㅇ(210.178) 07.05 126 0
2869964 나는조현병이야 나는내향적이야 손발이시립디다갤로그로 이동합니다. 07.05 60 0
2869962 코볼은 현재 얼마나 쓰임? [3] ㅇㅇ갤로그로 이동합니다. 07.05 97 0
2869961 누가 멍유 좀 내쫓아봐 [1] ♥냥덩이♥갤로그로 이동합니다. 07.05 81 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2