어떤 소멸자가 실행되고
C ++에서 생성자가 예외를 던지면 어떤 소멸자가 실행되고?
예외 초기화 목록이나 본문에서 예외가 발생하면 차이가 있습니까?
또한 상속과 회원은 어떻습니까? 아마도 완성 된 모든 구조물이 파괴 될 것입니다. 일부 멤버 만 구성하면 해당 멤버 만 파괴 검증? 여러 상속이있는 경우 모든 상품을 제거합니까? 가상 상속이 변경되는 사항이 있습니까?
어떤 소멸자가 실행되고
해당 범위에서 완전히 생성 된 모든 개체의 소멸자.
예외가 초기화 목록 또는 본문 중이면 차이가 있습니까?
모든 개체는 파괴됩니다.
생성되지 않았거나 발생하지 않을 경우 발생하지 않습니다.
상속과 회원은 어떻습니까? 아마도 완성 된 모든 구조물이 파괴 될 것입니다. 일부 멤버 만 구성하면 해당 멤버 만 파괴 검증? 여러 상속이있는 경우 모든 상품을 제거합니까? 가상 상속이 변경되는 사항이 있습니까?
모든 구조물은 파괴됩니다. 예, 완전히 생성 된 객체 만 파괴됩니다.
좋은 읽기 :
특히 그가 설명하는 부분을 좋아하십시오.
생물학적에서 개념이 발생했습니다. 생성자가 시작하는 최선의 노력에도 불구하고 유산이 뒤따 랐음에도 불구하고 생성자는 용어 (인식)에 도달하지 않습니다.
부수적으로 생산자가 성공하지 않습니다. 파괴 할 것이 없습니다. "이것은 죽을 수 없습니다." 이것은 "생성되는 예외를 던진 객체" 라는 구절을 실제로 모순으로 만듭니다. 그런 것은 전 대상보다 훨씬 적습니다 ... 그것은 살았던 적이 없었고, 처음으로 숨을 쉬지 않았습니다.
C ++에서 생성자가 예외를 던지면 어떤 소멸자가 실행되고?
생성자가있는 모든 개체가 완료 될 때까지 실행됩니다.
예외 초기화 목록이나 본문에서 예외가 발생하면 차이가 있습니까?
아니요. 예외적으로 처리 된 모든 구성원은 소멸 처리됩니다. 구성 중에 던진 구성원과 다른 구성 구성원은 소멸자가 실행되지 않습니다 . 멤버 생성의 순서는 잘 정의되어 있으므로 예외 발생 지점을 알고 있으면 어떤 일이 보관 지 정확히 알 수 있습니다.
또한 상속과 회원은 어떻습니까?
동일한 규칙이 적용됩니다.
아마도 완성 된 모든 구조물이 파괴 될 것입니다.
예
일부 멤버 만 구성하면 해당 멤버 만 파괴 검증?
예
여러 상속이있는 경우 모든 상품을 제거합니까?
예
가상 상속이 변경되는 사항이 있습니까?
아니요.
그러나 참고 : 가상 상속은 생성자가 호출되는 순서에 영향을줍니다. 순서가 정의 된 방법에 익숙하지 않은 경우에도 정확한 규칙을 사용하지 않을 수 있습니다.
생성자로 인해 남아있는 로컬 범위에서 생성 된 모든 개체는 소멸됩니다. 작동 처리는 사용할 때까지 소멸 호출하여 스택을 백업합니다.
생성자에서 예외가 발생하면 모든 하위 개체의 소멸 호출이 발생합니다. 생성자가 또한 new
표현식의 일부인 경우 적절한 배치 삭제 연산자가 있으면 호출됩니다.
'ProgramingTip' 카테고리의 다른 글
가로 세로 맞춤으로 UIImageView 정렬 (0) | 2020.10.27 |
---|---|
하드 코딩없이 Cake 패턴으로 의존성 공급을 어떻게합니까? (0) | 2020.10.27 |
C ++에서 부호있는 정수 오버플로가 여전히 정의되지 않은 동작입니까? (0) | 2020.10.27 |
한 단위가 hashCode-equals 계약을 어떻게 테스트해야합니까? (0) | 2020.10.27 |
iOS 7 iPad Safari Landscape innerHeight / outerHeight 레이아웃 문제 (0) | 2020.10.27 |