이 포괄적 인 가이드는 C에서 정의되지 않은 행동의 복잡성을 탐구하며, 전형적인 교과서 설명을 넘어서고 있습니다. 숙련 된 C 프로그래머에게 이상적 인이 주제의 가장 모호한 측면에 대한이 깊은 다이빙은 원래 11 부 시리즈로 계획된 6 개월 프로젝트의 정점이지만 12로 확장 된 것입니다. Dmitry Sviridkin이 작성하고 Andrey Karpov가 편집 한이 작품은 향후 인쇄 출판물로 예정되어 있습니다.
이 책은 다음을 포함하여 광범위한 주제를 탐구합니다.
소개 : 정의되지 않은 행동과 그 결과를 정의합니다. 좁은 전환과 암시 적 유형 변환 탐색
정수 및 부동 소수점 문제 :
서명 된 정수 오버플로, 부동 소수점 특성, 정수 프로모션 및 및 기호 확장의 뉘앙스를 검사합니다.
메모리 관리 및 참조 :
매달려 참조 주소, , 루프, 자기 참조 및
참조 무효화의 범위 기반.
람다 기능 및 돌연변이 : 람다 함수 캡처 목록 분석, 튜플, 예상치 못한 돌연변이, 암시 적 참조, 사용-이후의 움직임 및 평생 연장.
구문 분석 및 움직임 의미론 : char 가장 욕구가없는 구문 분석, 비정상적인 상수, 움직임 의미, 및 잊혀진
진술.
연산자 및 I/O : 타원 및 함수, , 디버깅의 과제, 쉼표 연산자, 기능-블록 및 제로 크기 유형. >
문자열 및 스마트 포인터 : string_view NULL이 종결 된 문자열 논의, std::vector, 명시 적 유형 변환 및 안전한 표준 기능 통과.
리포지션 및 버퍼 :
무한 루프 탐색, 중단 문제, 재귀,
핸들링 및 버퍼 오버플로.
raii, 포인터 및 초기화 : (n) RVO 및 RAII 비교, 널 포인터 디스티울 링, 정적 초기화 순서 치실, 정적 인라인 함수, ODR 위반 및 예약 이름을 검사합니다.
유형, 변수 및 범위 : 사소한 유형 및 ABI, 비 초기 변수, C 20 비정규 범위, 비 약독이지만 가상 함수 및 VLA.
동시성 및 신호 : 잘못된 포인터 주소, 배열에 대한 새로운 배치, 데이터 레이스, 뮤트 교착 상태, 신호 안전 및 교착 상태 회피에 대한 모범 사례.
벡터, 정렬 및 정적 분석 : 분석 및
, 정렬되지 않은 참조, 객체 수명, 정적 분석 및 정의되지 않은 동작 및 결론적 비고
.
라이센스 및 사용 :
이 작업은 적절한 속성과 함께 참조 할 수 있습니다. 복사 또는 재생산에는 저자의 허가가 필요합니다 (dmisvrl1@gmail.com). 상업용 사용 또는 수수료 기반 지침은 금지됩니다
저자에 대한 std::enable_if_t :
Dmitry Sviridkin : 고성능 소프트웨어 개발에 대한 광범위한 경험과 C 및 Linux 시스템 프로그래밍에 대한 배경 지식을 가진 AWS의 소프트웨어 엔지니어.
Andrey Karpov : 정적 코드 분석 및 소프트웨어 품질 및 Microsoft MVP Award 수상자에 대한 15 년 이상의 경험을 가진 PVS-Studio 프로젝트의 공동 설립자 인 Andrey Karpov :
위 내용은 C 프로그래머 및 정의되지 않은 행동에 대한 안내서의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!