내 C++ 프로젝트에서 자동 메모리 처리를하고 싶습니다.자동 C++ 메모리/객체 인스턴스 관리? 스마트 포인터?
이 자동 메모리 처리를 얻으려면 몇 가지 추가 규칙이 필요합니다. 구체적으로 말해서 새 개체 인스턴스를 만드는 데 특별한 코딩이 필요하지 않습니다. (물론 더 많은 것은 아닙니다. 목적을 이길 때).
stackoverflow에서 많은 유용한 토론에 대한 일부 읽기 후, "스마트 포인터"는 타사 C++ 가비지 수집기에 대한 참조와 함께 가장 많이 사용된다는 사실을 알게되었습니다.
일부 "교과서"C++ 지식 만 있으면 C++ GC의 복잡성으로 인해 사용할 수 없다고 생각합니다.
반면에 .NET/Java 배경을 가지고 있으며 C++에서도이 경험을 활용하고 싶습니다. 나는 객체 인스턴스를 생성하고 다른 클래스/함수에 전달하는 것에 익숙하다. (나는 이것이 C++에서도 빵과 버터 재료라고 생각한다.)
그래서, 내가 찾고있는 스마트 포인터/shared_ptr/boost가 무엇입니까?
(나는 MyClass* var = new MyClass()
을하는 것을 의미하지 malloc()
획득 메모리 점에 유의.)
일부 특정 배경 :
은 사실 제가 정확히 어떻게하려고하는 것은 어떤 수있는 몇 가지 라이브러리 함수를 작성하는 것입니다 C++ 프로젝트와 iPhone 프로젝트에서 모두 사용할 수 있습니다 (이러한 클래스는 순전히 논리적 인 비즈니스 클래스이므로 이식성 문제가 없어야 함). 높은 성능 (iPhone이 아닌 게임 앱)이 필요한 영역이 아니라고 생각하지만 리소스 사용에 대한 우려가 있습니다.
이 상황에서 스마트 포인터를 사용하는 데 문제가 있습니까? 더 좋은 대안이 있습니까?
는 정확히 어떻게 shared_ptr의 작품 아닌가? 이 방법으로 성능 이점을 많이 얻었습니까? – kossmoboleat