디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅆㅇㅆ(124.216) 2025.07.04 00:22:09
조회 169 추천 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/03 - -
AD 저녁 뭐먹지? 오늘의 메뉴 추천! 운영자 25/10/31 - -
2870210 바둑과 교도소 발명도둑잡기(118.216) 07.06 77 0
2870208 똑똑한 사람들 부럽더라 발명도둑잡기(118.216) 07.06 70 0
2870207 요즘 AI 기술 수준 ㄷㄷ 발명도둑잡기(118.216) 07.06 82 0
2870205 오늘은 납골공원에서 장기좀 두시는구나 [2] 헬마스터갤로그로 이동합니다. 07.06 81 0
2870204 냥덩이 면상 공개 발명도둑잡기(118.216) 07.06 78 0
2870201 나무늘보 다큐멘터리 발명도둑잡기(118.216) 07.06 66 0
2870199 일본 2029년까지 최저시급 1500엔 목표. 참의원선거 관심 up 프갤러(183.101) 07.06 57 0
2870197 일본, 먹고살기힘들다 최저시급 1500엔 인상 주장 프갤러(183.101) 07.06 73 0
2870196 케이장녀 발명도둑잡기(118.216) 07.06 86 0
2870192 메인 함수 찾음 루도그담당(211.235) 07.06 76 0
2870190 국비신입 쎄하다 [19] 프갤러(61.75) 07.06 2592 15
2870186 파이썬, 자바, 코틀린 같은 기능 하는 좀 긴 코드 일이 비교 발명도둑잡기(118.216) 07.06 120 0
2870185 빨리 창업을 성공해야하는데 쉽지 않다 지금 상태가 너무 불안정해 [3] ㅆㅇㅆ(124.216) 07.06 125 1
2870183 같은 기능 코드 길이 비교 [1] 발명도둑잡기(118.216) 07.06 108 0
2870182 fnirsi dso510 오실로스코프 샀다 발명도둑잡기(118.216) 07.06 98 0
2870181 한국 지하철 특징 발명도둑잡기(118.216) 07.06 89 0
2870180 회사 내 실수 운전면허같이 벌점제 장단점 발명도둑잡기(118.216) 07.06 82 0
2870179 라즈베리필드-토요일 오후에 발명도둑잡기(118.216) 07.06 57 0
2870178 민주당이 또 부동산 폭등시키면 거기서 극우세력이 커진다 발명도둑잡기(118.216) 07.06 73 0
2870177 충주시 티셔츠 안 만드는 이유 발명도둑잡기(118.216) 07.06 58 0
2870174 양자컴퓨터로 미시세계에서 시간 과거로 역전 [1] 발명도둑잡기(118.216) 07.06 74 0
2870172 혹시 AI쪽 전문적으로 배울수있는 곳이 있을까여 [2] ㅇㅇ(14.38) 07.06 124 0
2870171 성수동 오니까 분내 존나 풍기노 [1] 아스카영원히사랑해갤로그로 이동합니다. 07.06 120 0
2870165 실베 글 보니 어제 썼던 글 생각이 난다 발명도둑잡기(118.216) 07.06 77 0
2870163 이상하네 [10] 루도그담당(58.239) 07.06 145 0
2870161 충격적인 브라질 빈민가의 먹거리 발명도둑잡기(118.216) 07.06 75 0
2870158 타인은 지옥이다 이씨발..진짜 [3] 프갤러(218.232) 07.06 124 0
2870156 학점 2점대면 걍 공기업 준비하는게 나은가 프갤러(118.235) 07.06 90 0
2870155 고교 학점제 상대평가 때문에 문제 발명도둑잡기(118.216) 07.06 72 0
2870153 너네는 근데 트렌드 어떻게 파악하냐 [4] ㅆㅇㅆ(124.216) 07.06 137 0
2870152 개발자면 맥북 필수지 [2] 뒷통수한방(1.213) 07.06 176 0
2870150 피해자라던 대표, 멍투성이 아내…'경호업체 성범죄 사건' 진실은? 발명도둑잡기(118.216) 07.06 96 0
2870148 파이썬 가상환경은 요즘 도커 반필수라 딱히 와닿지 않긴함 [7] ㅆㅇㅆ(124.216) 07.06 115 0
2870147 파이썬 시발 제일 이해안가는게 가상환경임 [4] 프갤러(58.78) 07.06 135 0
2870146 파이썬으로 뭔가 크게는 못만드는데 문제가 AI 파이프라인이 파이썬임 [2] ㅆㅇㅆ(124.216) 07.06 105 0
2870144 후우.. 진정한 학습중 [1] 초코냥갤로그로 이동합니다. 07.06 115 0
2870143 Ai로 시대인데 ai로 뭘할거면 파이썬이 짱인듯 [5] ㅆㅇㅆ찡갤로그로 이동합니다. 07.06 145 0
2870142 요즘은 맥 필수아니지 프갤러(58.78) 07.06 126 0
2870141 내가 '할 수 있다'라고 할 수 있는 언어가 ㅆㅇㅆ(124.216) 07.06 146 0
2870140 아 네부캠 떨어질것같네 ㅅㅂ [2] ㅇㅇ(175.223) 07.06 311 0
2870139 내가 느끼는게 파이썬 배운게 제일 잘한거같음 AI시대 들어오고나서 ㅆㅇㅆ(124.216) 07.06 179 0
2870138 누가 더 유명함 홀란드 니키미나즈 디바(59.28) 07.06 145 0
2870135 지피티는 검색 기능 없이 쓰면 [1] 루도그담당(58.239) 07.06 94 0
2870133 주말에 내미래 먹거리를 위해 코딩하는데 프갤러(14.5) 07.06 72 0
2870131 It회사에선 ㄹㅇ 맥 씀?? [5] 프갤러(118.235) 07.06 131 0
2870130 픎 7년 무정산이 하이부 탓? ㅇㅇ(175.223) 07.06 84 0
2870121 웹하다가 게임 가면 많이 힘들어 아예 다름. 웹은 세팅이 존나 빡세고 [2] ㅆㅇㅆ(124.216) 07.06 138 0
2870119 웹준비하다가 게임으로 틀면 ㅈㄴ 힘들겠지 [1] ㅇㅇ(1.250) 07.06 125 0
2870118 앱 출시하는거 엄청 복잡하네 [2] 프갤러(121.162) 07.06 172 0
2870116 와 방금 대구 화교 초등학교앞에서 짱깨 이러는거 뭐냐 [3] ㅆㅇㅆ(124.216) 07.06 143 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2