공부/[2018] C++

[2018.11.20] C++ 프로그래밍2 및 실습 복습(클래스 템플릿, 템플릿 특수화, 스마트 포인터)

창작꾼 븐틴이 2018. 11. 21. 19:59
728x90
반응형

템플릿 특수화

: 특정 형식에 대해서만 다른 코드를 적용하기 위한 템플릿 문법




템플릿 함수로 사용된 Add() 함수에 'b'라는 문자를 대입?




템플릿 특수화 - 이러한 파라미터는 이렇게 해주세요~




//


스마트 포인터

-> 동적 할당한 인스턴스를 자동으로 삭제해주는 편리한 포인터

-> 메모리 용향이 많아서 다른 프로그램을 실행할 때 생기는 문제를 해결


delete 변수 - 이거 사용안함.



auto_ptr -> 옛날 꺼 (문제많음)


문제?


포인터 변수를 사용하면 생기는 문제{


1. 댕글링 포인터


2. 가비지 


1 - 메모리공간을 사용중인데 시스템이 비었다고 생각해 그 공간을 포함한 메모리 공간을 할당할 때~~

2 - 메모리 공간의 주소를 알고 있는 변수가 그 주소를 잊음. 그런 공간이 가비지~~


}


auto 문제


auto_ptr를 다른 auto_ptr를 대입하면 그 전 꺼는 인식못함.

(교재 확인)


//


shared_ptr / unique_ptr 필기사항 확인하기


그이어 예제


//



스마트 포인터에 대한 예제(유니크 포인터 신경X)



ptr.get() -> 주소를 나타내는~



//ref = ptr 은 유니크포인터여서 안됨


옮길거면 std::move(ptr) 사용하기!


쉐어드 포인터










응용예제




 

728x90
반응형