delete[] 할때 소멸자 실행 순서
delete[]를 통해 다수의 클래스를 지울 때 실행되는 소멸자의 실행순서는 고정인가요?
제 컴퓨터 환경에서의 한 간단한 실험에서는 생성순서의 역순으로 소멸자가 실행었습니다만 다른 상황에서도 그러한 방식이 유지될것이라는 확신을 얻을수는 없었습니다.
delete의 내부동작방식이 cpu에 따라, 컴파일러에 따라 상이하게 동작할 여지가 있나요? 다시 말해 delete는 자기결정적인가요?
답변 1
1
좋은 궁금증이지만, 이런건 질문 대상이 아닙니다.
구글링을 해보면 알 수 있을 것 같다는 느낌이 딱 들기 때문이죠!
C++ 표준 스펙을 검색해보시는게 정확한데 delete[] destructor order
로 구글에 검색한 결과 링크를 첨부합니다.
https://stackoverflow.com/questions/17344727/does-delete-call-destructors
소스코드와 관련하여 질문드립니다
0
70
1
map 컨테이너의 emplace 함수에 대해
0
115
2
시작이 안되네요...!
0
99
2
EAX 명령어 실행 시 RAX의 상위 32비트가 초기화 되는 이유
0
127
1
리틀 엔디안 장점 질문합니다.
0
132
1
메모리 창에 주소를 넣었는데 영어 꺠짐
0
125
1
타입변환#2 build시 knight 인접 stack이 침범당했다는 error가 발생합니다.
0
94
2
map #1 8분 58초 맵은 레드블랙트리로 이루어진 것 같습니다.
1
142
2
hello world 부터 오류 ㅠㅜ
0
191
1
지역변수가 스택? 레지스터
0
134
2
마지막 문제 질문드립니다.
0
165
2
메모리창이 비활성화됩니다.
0
98
1
이중포인터 강좌 부분 질문있습니다.
0
146
1
2를 더하는 이유
0
133
1
메모리 주소 창 엔디안 질문 드립니다. 인프런 봇 답변도 괜찮습니다
1
111
1
해당 코드는 왜 오류가 날까요?
0
156
1
마지막 문제 질문 있습니다.
0
119
1
강의 마지막부분에 질문이 있습니다.
0
192
2
Field초기화
0
141
1
virtual과 override 차이
0
317
2
3:30 참조자 리턴
0
169
1
map 찾기
0
159
1
프로그램 질문드려요
0
261
1
캐스팅 질문
0
139
1





