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





