디시인사이드 갤러리

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

갤러리 본문 영역

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

ㅆㅇㅆ(124.216) 2025.07.04 00:22:09
조회 109 추천 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 - -
2869539 개좆같다 이기 ㅋㅋㅋㅋㅋ [1] 루도그담당(58.239) 07.04 66 0
2869537 ios 가상머신 발명도둑잡기(118.216) 07.04 56 0
2869536 이걸 언제 다 읽고있냐 [2] 류도그담당(58.239) 07.04 86 0
2869535 APT 발명도둑잡기(118.216) 07.04 47 0
2869534 애초에 자본금이 개좆병신인데, 내가 자동매매해봤자 [3] ㅆㅇㅆ(124.216) 07.04 71 0
2869532 나 지금 목표가 이거거든? [4] ㅆㅇㅆ(124.216) 07.04 105 2
2869531 IDA 크랙 구해야하나 [2] 류도그담당(58.239) 07.04 81 0
2869529 비전공자, ㅈ문대, 복학생, 웹개발자 [8] 프갤러(93.152) 07.04 96 0
2869528 읽어도 읽어도 저 많은 천재들과 싸울 자신이 없다. [3] ㅆㅇㅆ(124.216) 07.04 87 0
2869527 프로그래밍 근데 할수록 자신감이 안 생긴다 ㅆㅇㅆ(124.216) 07.04 46 0
2869525 면접볼때마다 [3] 무관갤로그로 이동합니다. 07.04 76 0
2869524 CPP 코드 90%는 C++11 안전 기준 미달 맞음(논문있음) [1] ㅆㅇㅆ(124.216) 07.04 100 0
2869523 도로상태 훌륭 넥도리아(223.38) 07.04 38 0
2869522 동네 도로 환경 순찰 중 어머니폰으로 넥도리아(223.38) 07.04 38 0
2869521 2달 존버하고 받은 금액이 고작 ㅇㅇ(118.235) 07.04 69 0
2869520 내 방 온도 29.3도 발명도둑잡기(118.216) 07.04 38 0
2869519 7월 4일 4시 7월 5일 4시 한국 넥도리아(223.38) 07.04 51 0
2869518 치아교정 때문에 군것질이 약간 줄었다 발명도둑잡기(118.216) 07.04 35 0
2869517 아니, 비야네가 정의한 레거시 코드 기준이랑 다 떠먹여줘도 [1] ㅆㅇㅆ(124.216) 07.04 51 0
2869516 진보적인 외국 정부 부정선거 여론 언론공작은 CIA의 주특기다 발명도둑잡기(118.216) 07.04 50 0
2869515 그냥 차트맨아 내 글을 LLM 아무데나 복사붙여넣기하고 ㅆㅇㅆ(124.216) 07.04 45 0
2869514 가만 보니까 legacy라는 말을 병적으로 해석하는구만 [10] ㅇㅇ갤로그로 이동합니다. 07.04 90 1
2869513 나도 따당이처럼 잘하고 싶노 ㅆㅇㅆ(124.216) 07.04 41 0
2869512 [최우리의 비도 오고 그래서] 기후위기와 범죄의 상관관계 발명도둑잡기(118.216) 07.04 32 0
2869511 차트맨아 농담 아니고, 너 현역에 금융업계 종사 오래한건 알겠는데 ㅆㅇㅆ(124.216) 07.04 46 0
차트맨아 C++ 책좀 읽어라 왜곡하지말고 그냥 [10] ㅆㅇㅆ(124.216) 07.04 109 1
2869502 러스트 설치도 못하는 저능아의 마지막 도피처. "llm 환각" 프갤러(110.8) 07.04 53 1
2869501 머리가 너무 복잡하다. 그냥 다 놓고 싶다. [1] ㅇㅇ(223.38) 07.03 84 0
2869500 이력서 20개 찢고옴 [1] 프갤러(221.163) 07.03 75 0
2869499 의뢰인이 자기가 해본 자동 매매 프로그램중 내 것이 제일 [4] ㅆㅇㅆ(124.216) 07.03 79 0
2869496 이런 사람들은 지금 나이 한 50 넘게 먹었으려나 [1] 루도그담당(58.239) 07.03 81 0
2869495 낼 술마셔야좌우징좌우지징 [1] ♥냥덩이♥갤로그로 이동합니다. 07.03 51 0
2869494 요즘 TDD 선구자 캔트백도 바이브 코딩 연구하더라 ㅆㅇㅆ(124.216) 07.03 54 0
2869493 헤일스버그의 파스칼이나 델파이에 관한 최근 생각 발명도둑잡기(118.216) 07.03 40 0
2869492 러까의 유일한 구원자 llm도 맛이 가버린 모양이군 ㅋㅋ 프갤러(110.8) 07.03 39 0
2869491 델파이, 파스칼 안쓰는 이유, 메모리 안전 발명도둑잡기(118.216) 07.03 70 0
2869490 FreePascal 아이디 보니 드는 생각 발명도둑잡기(118.216) 07.03 52 0
2869489 국산 냥덩❤+ ♥냥덩이♥갤로그로 이동합니다. 07.03 46 0
2869488 퍼프 대디 파티 참석했던 사회 저명인사 명단 발명도둑잡기(118.216) 07.03 70 0
2869486 내가 몇 년 전 휴대폰 카메라로 동공 크기까지 감시할 거란 글 발명도둑잡기(118.216) 07.03 39 0
2869485 [단독] "이상민 자택서 깜짝 놀랄 거액 발견"…특검, 조사 착수 발명도둑잡기(118.216) 07.03 58 0
2869484 Rust 언어는 예수 믿어야 천국간다고 강요하는 언어입니다 FreePascal갤로그로 이동합니다. 07.03 76 1
2869482 웹백엔드 vs 게임서버 닥전임? ㅇㅇ(211.176) 07.03 46 0
2869479 땀 닦아주실분? [2] ♥냥덩이♥갤로그로 이동합니다. 07.03 51 0
2869476 루비와 류류 냥덩 [8] 개멍청한유라갤로그로 이동합니다. 07.03 73 1
2869474 냥덩이 허위사실 유포했던 이재명 성범죄 진실 발명도둑잡기(118.216) 07.03 73 0
2869472 공산한국 2025 [1] ♥냥덩이♥갤로그로 이동합니다. 07.03 50 0
2869470 나님 통찰력 ㄱㅆㅅㅌㅊ.. [1] ♥냥덩이♥갤로그로 이동합니다. 07.03 49 0
2869469 ㄴㅏ님 누엇어오..⭐+ ♥냥덩이♥갤로그로 이동합니다. 07.03 42 0
2869467 소형 피씨스피커는 페블 v2, v3가 좋다 발명도둑잡기(118.216) 07.03 39 0
뉴스 “역시 부자는 다르다”…서장훈, ‘재혼’ 이상민에 ‘헉’ 소리 나는 축의금 디시트렌드 10:00
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2