게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
구조체 그리고 클래스
게시물ID : programmer_15558짧은주소 복사하기
작성자 : 중용자
추천 : 4
조회수 : 512회
댓글수 : 1개
등록시간 : 2016/01/21 18:33:59
구조체와 클래스는 언어별로 구현 방식의 차이가 있습니다.

.Net 계열은 값(스택)과 참조(힙)라는 차이가 있고 C++은 둘의 차이가 거의 없습니다.

C++은 C와의 호환을 위한 구조체로 없어도 그만이죠.

제 경우도 FastASM에 .Net과 같은 방식으로 구조체와 클래스를 구현 했습니다.

어셈블리의 최대 장점인 성능을 희생하지 않기 위해 오버로딩, 오버라이딩, 함수 상속은 제외했습니다.

클래스이지만 변수만 상속되는 제한된 클래스인 것이죠.

생각해보니 구조체는 이미 변수 상속을 지원하고 있었는데 거기다 함수까지 포함시킨게 전부더군요.

그걸 구조체는 스택, 인라인에 존재하게 하고 클래스는 힙에 메모리 생성해서 존재하게 했던 것이죠.

구조체에 함수 지원만 추가 하는 거라면 괜히 성능에 부담만 주는 힙에 있어야 할 이유가 없는데 클래스는 항상 힙에 존재해왔기에 별 생각없이 저 또한 그러고 있었네요.

오늘 밤은 클래스를 힙에서 스택으로 보내야 겠네요.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호