좀 어렵다. 잠시 보류;
MEC++ 검색 결과
참조 카운팅 어떨때 사용 하는가? 1. 상대적으로 많은 객체들이 상대적으로 적은 값을 공유 할 때 2. 어떤 객체값을 생성하거나 소멸시키는데 많은 비용이 들거나 메모리 소모가 클 때 구현방법 1. Count 변수를 두어, 포인터 복사, 포인터 대입, 포인터소멸시 이 변수의 값을 변경한다. 개인적인 생각 효율이 가장 중요하다?? 어찌 되었건 스마트 포인터를 만들어 봐야 한다. 못하면, 할수 없는게 더 많이 생기기 때문이다.
이유 1. 영리한 녀석들은 항상 좋기 때문이다. 구현 방법 벙어리 포인터랑 비슷하게 사용하면서 영리한 동작이 있어야 한다. 1. 메모리 누수를 잡는 기능 2. 역참조 연산자 기능 3. Null 인지 검사 기능 4. 스마트 포인터가 벙어리 포인터로 변환기능 5. 다향성 기능 6. const 기능 주의점 1. 모든것을 벙어리 포인터처럼 구현하는것은 불가능하다.(왜냐면 이건 스마트 포인터기 때문이다) 2. 아무리 좋은 약이라도, 필요하지 않을때 먹으면 독이 되듯이 망각하지 말자. 머리는 항상 냉철하게!
이유 1. 임베디드 시스템에서 메모리량이 적을 때 사용하면 좋다. 힙에만 생성되게 하는 방법 1. new만을 써서 객체를 생성하면 된다. 2. 유사 소멸자도 만들어야 한다. 힙에는 만들어지지 않게 하는 방법 1. operator new 를 오버로딩 하되 private으로 넣어 둔단다. 주의점 1. 상속이나 다른 클래스 내부에서 생성될때도 객체가 생성되기 때문에 코딩시 이 부분은 피해야만 한다. 부수적으로 알아야 할것들 1. 해당 객체가 힙에 있는지 없는지 체크 할 방법이 있어야 한다. 2. 1번의 방법은 객체 생성시 그 주소값을 리스트에 넣고 관리하면 된다. 필요하다면, 구현 할수 있을것 같다.(훗 그러다가 된통 달할것 같기도 하다. ㅋㅋㅋ) 개념적으로만 정리하고 끝낸다.,
이유 1. 만약 어떤 특정 개체의 수가 10개로 한정되어 있다면? 그럴때 써먹으면 좋다.(현실에서도 이런일들이 많듯이) 개념정리 객체 생성이 이루어지는 세가지 상황 1. 일반적인 객체 생성할 때 2. 파생 클래스에서 객체를 생성 할때 3. 다른 클래스에서 객체를 멤버 변수로 가지고 있을 때 객체를 전혀 생성하지 않거나 한개만 생성하기 1. 객체의 생성을 특정 함수에서만 이루어 지도록 하고, 그 함수에서 static으로써 객체를 생성하면 된다. (부수적으로 생성자를 private 로 만들면, .. 상속도 안되게 할수 있다) 객체의 생성갯수를 원하는 갯수로 제한하기 1. 개념정리의 3가지 경우를 세면 된다. 2. 다른 클래스의 객체들의 갯수까지 제한하기 위해선 이것을 클래스화 시켜서 private로 상속 하..
이유 1. 만들수 있으면 써먹을수 있다. 1. 가상 생성자 만드는 방법 가상 생성자란 무엇이며, 왜 필요한가? 1. 생성자는 virtual 키워드가 먹히지 않는다. 2. 가상 생성자는 마치 생성자가 가상함수가 된것처럼 행동하는 생성자를 뜻한다. 3. 인자값에 따라 원하는 객체가 자동으로 생성되기 때문에, 편리하다. 구현방법 준비물 1. 기본 클래스 1개. 파생 클래스 A, 파생클래스 B 2. 관리 클래스 1개 3. 강하게 필요하여, 반드시 구현해야 한다는 미친 열정 세부 구현방법 1. 관리 클래스에서 인자값에 따라서 파생 클래스 A나 B를 동적메모리를 할당하고, 기본클래스의 포인터로 반환 2. 관리 클래스의 링크드 리스트에 1의 포인터를 저장한다. 비멤버 함수를 가상 함수처럼 동작하게 하는 방법 왜 필요..
최근댓글