스마트 포인터

유혜정·2022년 4월 19일
0
  1. UI에 입력된 값을 변수로 읽는다
  2. 입력된 값을 이용하여 Member 객체를 생성한다
  3. 저장될 공간(ㄱ. vector, ㄴ. map, ㄷ. db)에 저장한다
  4. vector에 저장을 한다고 생각하고 어떤 객체를 저장할지 결정한다
  5. 저장 방법: ㄱ. 객체 vector
    ㄴ. 포인터 (동적객체) vector<CMember*>, 소멸자에서 객체 해제 반드시 할 것
    ㄷ. 스마트 포인터 vector<shared_ptr>

스마트 포인터

  
CMember* pMember = new CMember();
delete pMember;

// 스마트 포인터 방법 1
#include <memory>
{
shared_ptr<CMember> pMember = make_shared<CMember>();
} // 소멸자 자동 호출

// 스마트 포인터 방법 2
using CMemberPtr = shared_ptr<CMember>;
// 다음부터 shared_ptr<CMember> 대신 CMemberPtr 사용 가능
// vector<CMemberPtr>

// 스마트 포인터 방법 3
// framework.h에 작성
#include <memory>
#include <vector>
using namespace std;

  1. UI에 입력된 값을 변수로 읽는다
if(!UpdateData()) return;
  
  1. 입력된 값을 이용하여 Member 객체를 생성한다

CMemberPtr pMember = make_shared();

  1. 저장될 공간(ㄱ. vector, ㄴ. map, ㄷ. db)에 저장한다
    m_array.push_back(pMember);
profile
내가 시작한 공부, 공유할 코드

0개의 댓글