728x90 Language5 [C++] new 와 malloc 의 차이 new 언어가 지원하는 기능 생성자를 호출 cast 발생 공간의 크기 파악 필요없음 할당 실패시 bad_allocation 에러 malloc 헤더를 포함 생성자 호출x cast 미발생 공간의 크기를 파악해야함(sizeof) 할당 실패시 null 반환 2023. 4. 10. [C++] 가상 소멸자 사용하는 이유 부모클래스로 인스턴스를 만들고 해당 인스턴스를 자식클래스로 다운캐스팅할 시 삭제될 때 부모클래스의 소멸자만 작동 이를 방지하기 위해 가상 소멸자를 사용하여 가상함수 테이블을 만들고 자식클래스의 소멸자도 작동하게함 2023. 4. 10. [C++] Casting Operator Cast Overloading 사용시 발생하는 위험을 방지하고자 사용 - static_cast : 방식이 정의된 형식간의 캐스트(float->int, int->float 등) - dynamic_cast : 안전한 다운캐스팅(RTTI 사용해야함, class 에선 가상함수가 있어야함) - const_cast : 참조유형(*, &) 에 대한 const 한정자 제거(변수 내용은 변하지 않음) - reinterpre_cast : 참조 유형 간의 캐스트 2023. 4. 10. [C#] Struct 와 Class 의 차이 Struct - 상속 불가능 - Value Type(객체 전달시 Copy) - Stack에 저장됨 - 기본 접근지정자 public - GC에 영향을 받지 않음 Class - 상속 가능 - Reference Type(객체 전달시 주소) - Heap 에 저장 - 기본 접근지정자 private - GC에 영향을 받음 2023. 3. 26. 이전 1 2 다음