객체를 만들지 않는 클래스는 모든 멤버가 static인 클래스입니다.
표준 라이브러리에서 예를 찾아보면, 템플릿 메타프로그래밍을 위한 클래스들이 그러합니다.
std::is_integral(또는 다른 특질 클래스들)은 std::integral_constant를 상속받지만, std::integral_constant는 가상 소멸자를 포함하지 않습니다.
에.. 질문에 설명이 부족해서 두번째 덧글에 궁금한 것을 덧대긴 했는데..
다시한번 정확히 제가 알고싶은것을 설명드리자면 순수가상 함수 등으로 부터 상속받는 등 이외의 경우에는 쓰일 일이 없다고 생각하는데 혹시 제가 간과하고 있는 부분에서 쓰임이 있을지 몰라 질문을 드린겁니다.
?????
????? https://kldp.org/node/141171 이 질문과 동일인물이 맞으신가요? 스스로 가상 소멸자가 필요한 예제를 올려두고서 쓰일만한 사례를 구하는건 이해가 안되네요.
제 말은 "그 경우 이외엔 쓰일 곳이 없는것 같은데
설명이 부족했군요.
제 말은 "그 경우 이외엔 쓰일 곳이 없는것 같은데 소멸자에 virtual을 사용하는것은 비효율적 아니냐? 의견을 듣고 싶다"
입니다.
절대 상속할 일이 없다면 필요없겠죠.
절대 상속할 일이 없다면 필요없겠죠. 또는, 상속을 염두에 두더라도 절대 객체를 만들일이 없는 클래스에도 해당될테구요.
상속을 염두해 두었더라도 객체를 만들일이 없는
상속을 염두해 두었더라도 객체를 만들일이 없는 클래스의 예시를 좀 알려주세요.
단순히 객체를 만들지 않는다 하더라도 포인터를 통해 할당을 하면 위험해질 것 같은데..
xylosper님이 말씀하신 '객체를 만들일이 없다'는 말은 포인터에 동적할당하는 것도 포함해서인가요?
어디에 만든다고 한정 짓지 않았으므로 당연히 스택과
어디에 만든다고 한정 짓지 않았으므로 당연히 스택과 힙을 모두 포함합니다.
객체를 만들지 않는 클래스는 모든 멤버가 static인 클래스입니다.
표준 라이브러리에서 예를 찾아보면, 템플릿 메타프로그래밍을 위한 클래스들이 그러합니다.
std::is_integral(또는 다른 특질 클래스들)은 std::integral_constant를 상속받지만, std::integral_constant는 가상 소멸자를 포함하지 않습니다.
아하. 그렇군요 이해가 되었습니다.
아하. 그렇군요
이해가 되었습니다.
그래서 표준 라이브러리 컨테이너들은 가상소멸자가
그래서 표준 라이브러리 컨테이너들은 가상소멸자가 구현되어 있지 않습니다.
아, 그렇군요
아, 그렇군요
믹서기가 무언가를 갈기위해 만들어졌는데 그것 말고는
믹서기가 무언가를 갈기위해 만들어졌는데
그것 말고는 쓸일이 없다는 생각이 드네요
믹서기가 반드시 필요하며 쓰일만한 사례를 보여주세요
에.. 질문에 설명이 부족해서 두번째 덧글에 궁금한
에.. 질문에 설명이 부족해서 두번째 덧글에 궁금한 것을 덧대긴 했는데..
다시한번 정확히 제가 알고싶은것을 설명드리자면 순수가상 함수 등으로 부터 상속받는 등 이외의 경우에는 쓰일 일이 없다고 생각하는데 혹시 제가 간과하고 있는 부분에서 쓰임이 있을지 몰라 질문을 드린겁니다.
댓글 달기