디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅆㅇㅆ(124.216) 2025.07.04 00:22:09
조회 175 추천 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/17 - -
AD 겨울가전 SALE! 쿨한 겨울 HOT세일 운영자 25/11/12 - -
2870549 드디어 1차 납품 끝났다 [1] ㅆㅇㅆ(124.216) 07.08 99 0
2870547 날씨가 타들어가는거 보면 7년전 전산모니터링 알바할떄 생각난다 [1] 프갤러(39.115) 07.08 145 0
2870546 그럼 대석열 외교참사로 망했지 살렸냐 [3] ㅆㅇㅆ찡갤로그로 이동합니다. 07.08 138 0
2870545 ㅆㅇㅆ(124.216) 대석열 외교참사덕에 망했노 07.08 10:27 ㅇㅇ(211.235) 07.08 93 4
2870544 외주장점이 납품한거 품질 괜찮으면 ㅆㅇㅆ찡갤로그로 이동합니다. 07.08 110 0
2870543 이번달 수익 200만 간당간당해보이노 [4] ㅆㅇㅆ(124.216) 07.08 146 0
2870540 웹서버로 홈페이지 만드니깐 존나 재밌다 [6] 프갤러(114.202) 07.08 150 0
2870539 납품은 잘만하는데 하 내 게임 [2] ㅆㅇㅆ(124.216) 07.08 97 0
2870538 게임쪽은 진심 끝내고싶은데 시간이 많이 부족해 ㅆㅇㅆ(124.216) 07.08 93 0
2870537 나도 프로젝트 끝내고싶다 ㅆㅇㅆ(124.216) 07.08 79 0
2870535 ㅆㅇㅆ가 반드시 봐야할 글이네 [2] 부드러운곰탱이갤로그로 이동합니다. 07.08 130 0
2870534 SI개발자의 기준아 뭐임? [2] ㅇㅇ(117.111) 07.08 199 0
2870530 자본주의 치킨. 열몇개 업체가 밀실 단합해서 닭 한마리 3만원 처받음 프갤러(223.55) 07.08 84 0
2870529 자본주의 치새. 임플란트 해먹으려고 멀쩡한 생니 다 처갈아버림 [1] 프갤러(223.55) 07.08 90 0
2870528 오늘 아침 ㅇㅅㅇ [4] 헤르 미온느갤로그로 이동합니다. 07.08 117 0
2870527 공산주의가 옳은 이유 프갤러(223.55) 07.08 97 0
2870525 약 10년전 국비충이었는데 현재 세후 월 500받고 다닌다 [2] 프갤러(39.115) 07.08 387 0
2870524 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 07.08 83 0
2870523 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 07.08 82 0
2870519 흔한 일본의 폐급직원 [2] 프로외노자갤로그로 이동합니다. 07.08 175 0
2870517 gpt이 십련들 [3] 프갤러(122.36) 07.08 127 0
2870510 소련 사회주의의 실패적 원인은 외부 자본주의와 결탁하면서 실패함 ㅆㅇㅆ(124.216) 07.08 97 0
2870509 “독재정권 한강 개발로 해운대 700배 백사장 사라져” 발명도둑잡기(118.216) 07.08 95 0
2870508 “2600만 마리 떼죽음… 역대 최악 지난해 재현되면 우짤꼬?” 발명도둑잡기(118.216) 07.08 85 0
2870507 가끔 뭔 공산주의 같은 마인드를 한놈들이 보여. 노동의 가치창출 말이야 [1] ㅆㅇㅆ(124.216) 07.08 103 0
2870506 [스트레이트] "검찰 역사 최악의 치욕" 발명도둑잡기(118.216) 07.08 168 0
2870505 "'팔레스타인 집단 학살' 가담해 한국기업 이익 창출했다" 발명도둑잡기(118.216) 07.08 67 0
2870504 gpt는 답 아니면서 답인 것처럼 말하는 거 많은데 [9] 아스카영원히사랑해갤로그로 이동합니다. 07.08 165 0
2870503 개발자는 자기의지 가지고 성장 안됨 [2] 프갤러(1.245) 07.08 158 0
2870502 취직을 했는데 안간거지 취직을 못한게 아닌데 이 차이 구분을 못하노 ㅆㅇㅆ(124.216) 07.08 101 0
2870501 “어? 예쁜 조개다” 덥석 잡았다가 죽을 뻔했습니다…정체 알고 보니 발명도둑잡기(118.216) 07.08 91 0
2870500 곽원태 천안시 서북구청장, 중국 여행 중 갑작스러운 별세 발명도둑잡기(118.216) 07.08 101 0
2870497 게임업계의 창과 방패 (크랙방지 vs 크래커) [1] 발명도둑잡기(118.216) 07.08 96 0
2870496 커서 살까말까 고민되네 [3] 프갤러(211.46) 07.07 221 0
2870495 고춧가루 ㅇㅇ(117.111) 07.07 63 0
2870494 갠적으로 코딩 실력보다 단체에서는 조직 요구사항을 빠르게 [2] ㅆㅇㅆ(124.216) 07.07 153 1
2870493 개발 고수, 중수, 초보 [2] ㅇㅇ(125.179) 07.07 176 0
2870492 프갤 오는 시니어들은 전부 자기는 잘하는데 승진하는 애들은 ㅆㅇㅆ(124.216) 07.07 82 0
2870491 신입에게 조언. 배워야 공부해야 할 것. 퇴사 사유. [4] 프갤러(59.16) 07.07 347 0
2870490 서유리 님 께서 사회인 코스프레 하지말라고 발언을 말하셨는데, 넥도리아(121.139) 07.07 149 0
2870489 깃도 공부할 거 많네 [6] 아스카영원히사랑해갤로그로 이동합니다. 07.07 186 0
2870487 잼민이 성능 미쳣네 ㄹㅇ 프갤러(61.75) 07.07 93 0
2870485 자동화 관련 질문 (http호출) [2] ㅇㅇ(114.206) 07.07 104 0
2870484 디시에 악플유저들은 새싹 원종이임 조루디(118.235) 07.07 110 0
2870483 맥미니 m4 32 512 개발하기 충분? [2] 조루디(118.235) 07.07 139 0
2870482 알고리즘 자료구조 이런거 누가 만들었냐 [1] 뒷통수한방(1.213) 07.07 123 0
2870480 Blockudoku 알고리즘 대결 만들었어 한번만해죠 프갤러(118.235) 07.07 79 0
2870479 자사 서비스 있는 스타트업 어떰? 프갤러(1.233) 07.07 75 0
2870477 재야학계 책보고 아저씨, 제가 역사는 모르지만 [1] 넥도리아(175.196) 07.07 87 0
2870474 근데 슼유동아 궁금한게 한 8개월 넘게 따라다녔는데 안 지겹냐 [3] ㅆㅇㅆ(124.216) 07.07 109 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2