1. delete 활용
(1) class의 복사 연산자 사용 막기 - class의 private를 이용
class Knight
{
public:
private:
void operator=(const Knight& k) { }
private:
int _hp = 100;
};
위와 같이 작성하면 class 내부에서는 활용이 가능하다(또는 friend class를 사용하여 우회할 수도 있다).
(2) class의 복사 연산자 사용 막기 - class 내부에서 선언하고 구현부를 생략하기
class Knight
{
public:
private:
void operator=(const Knight& k);
private:
int _hp = 100;
};
(3) class의 복사 연산자 사용 막기 - delete 사용
class Knight
{
public:
public:
void operator=(const Knight& k) = delete;
private:
int _hp = 100;
};
delete를 사용하면 어디에서든 접근 불가능하게 만들 수 있다(함수를 삭제).
'기초 C++ 스터디 > 모던 C++' 카테고리의 다른 글
10-7. 오른값 참조(Rvalue Reference) (0) | 2023.06.22 |
---|---|
10-6. override, final (0) | 2023.06.20 |
10-4. enum class (0) | 2023.06.20 |
10-3. nullptr (0) | 2023.06.20 |
10-2. 중괄호 초기화 (0) | 2023.06.20 |