Enviar búsqueda
Cargar
05_스마트 포인터 구현하기
•
0 recomendaciones
•
773 vistas
N
noerror
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 17
Descargar ahora
Descargar para leer sin conexión
Recomendados
Spring di chapter1
Spring di chapter1
흥래 김
Spring di chapter2
Spring di chapter2
흥래 김
190311 factory
190311 factory
Hyeon-Woo Sa
백엔드 스터디 3주
백엔드 스터디 3주
Chi Hwan Choi
(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 2편 추상화의 허와 실
(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 2편 추상화의 허와 실
Jay Park
Hibernate5.x
Hibernate5.x
visual khh
절차지향 vs 객체지향
절차지향 vs 객체지향
QooJuice
Effective c++ 2
Effective c++ 2
현찬 양
Recomendados
Spring di chapter1
Spring di chapter1
흥래 김
Spring di chapter2
Spring di chapter2
흥래 김
190311 factory
190311 factory
Hyeon-Woo Sa
백엔드 스터디 3주
백엔드 스터디 3주
Chi Hwan Choi
(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 2편 추상화의 허와 실
(알도개) 무한 루프에 빠진 개발자 논쟁 시리즈: 2편 추상화의 허와 실
Jay Park
Hibernate5.x
Hibernate5.x
visual khh
절차지향 vs 객체지향
절차지향 vs 객체지향
QooJuice
Effective c++ 2
Effective c++ 2
현찬 양
Microsoft pp lpdf
Microsoft pp lpdf
HYUNWOO KIM
effective c++ chapter 3~4 정리
effective c++ chapter 3~4 정리
Injae Lee
Mec++ chapter3,4
Mec++ chapter3,4
문익 장
06_게임엔진구성
06_게임엔진구성
noerror
소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT
Minsuk Lee
More effective c++ 3주차
More effective c++ 3주차
Injae Lee
HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2
SeungHyun Hwang
[123] electron 김성훈
[123] electron 김성훈
NAVER D2
클린 코드 part2
클린 코드 part2
Minseok Jang
Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용
정기 김
More effective c++ 2
More effective c++ 2
현찬 양
Effective c++ 1,2
Effective c++ 1,2
세빈 정
임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011
devCAT Studio, NEXON
[스프링 스터디 1일차] 오브젝트와 의존관계
[스프링 스터디 1일차] 오브젝트와 의존관계
AnselmKim
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
Dong Chan Shin
Chapter7~9 ppt
Chapter7~9 ppt
Injae Lee
Design patterns
Design patterns
Joshua Yoon
Effective c++ chapter7_8_9_dcshin
Effective c++ chapter7_8_9_dcshin
Dong Chan Shin
Effective c++ 정리 1~2
Effective c++ 정리 1~2
Injae Lee
분석과 설계
분석과 설계
Haeil Yi
15_TextureAtlas
15_TextureAtlas
noerror
11_웹서비스활용
11_웹서비스활용
noerror
Más contenido relacionado
Similar a 05_스마트 포인터 구현하기
Microsoft pp lpdf
Microsoft pp lpdf
HYUNWOO KIM
effective c++ chapter 3~4 정리
effective c++ chapter 3~4 정리
Injae Lee
Mec++ chapter3,4
Mec++ chapter3,4
문익 장
06_게임엔진구성
06_게임엔진구성
noerror
소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT
Minsuk Lee
More effective c++ 3주차
More effective c++ 3주차
Injae Lee
HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2
SeungHyun Hwang
[123] electron 김성훈
[123] electron 김성훈
NAVER D2
클린 코드 part2
클린 코드 part2
Minseok Jang
Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용
정기 김
More effective c++ 2
More effective c++ 2
현찬 양
Effective c++ 1,2
Effective c++ 1,2
세빈 정
임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011
devCAT Studio, NEXON
[스프링 스터디 1일차] 오브젝트와 의존관계
[스프링 스터디 1일차] 오브젝트와 의존관계
AnselmKim
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
Dong Chan Shin
Chapter7~9 ppt
Chapter7~9 ppt
Injae Lee
Design patterns
Design patterns
Joshua Yoon
Effective c++ chapter7_8_9_dcshin
Effective c++ chapter7_8_9_dcshin
Dong Chan Shin
Effective c++ 정리 1~2
Effective c++ 정리 1~2
Injae Lee
분석과 설계
분석과 설계
Haeil Yi
Similar a 05_스마트 포인터 구현하기
(20)
Microsoft pp lpdf
Microsoft pp lpdf
effective c++ chapter 3~4 정리
effective c++ chapter 3~4 정리
Mec++ chapter3,4
Mec++ chapter3,4
06_게임엔진구성
06_게임엔진구성
소스리딩워크샵 - NHN NEXT
소스리딩워크샵 - NHN NEXT
More effective c++ 3주차
More effective c++ 3주차
HolubOnPatterns/chapter2_2
HolubOnPatterns/chapter2_2
[123] electron 김성훈
[123] electron 김성훈
클린 코드 part2
클린 코드 part2
Java script 기본과 jquery의 활용
Java script 기본과 jquery의 활용
More effective c++ 2
More effective c++ 2
Effective c++ 1,2
Effective c++ 1,2
임태현, 서버점검 제로에의 도전, NDC2011
임태현, 서버점검 제로에의 도전, NDC2011
[스프링 스터디 1일차] 오브젝트와 의존관계
[스프링 스터디 1일차] 오브젝트와 의존관계
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
Chapter7~9 ppt
Chapter7~9 ppt
Design patterns
Design patterns
Effective c++ chapter7_8_9_dcshin
Effective c++ chapter7_8_9_dcshin
Effective c++ 정리 1~2
Effective c++ 정리 1~2
분석과 설계
분석과 설계
Más de noerror
15_TextureAtlas
15_TextureAtlas
noerror
11_웹서비스활용
11_웹서비스활용
noerror
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
noerror
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
noerror
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
noerror
11_통계 자료분석 입문
11_통계 자료분석 입문
noerror
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템
noerror
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법
noerror
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
noerror
08_Marching Cube Terrains
08_Marching Cube Terrains
noerror
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
noerror
08_플래시 맛보기
08_플래시 맛보기
noerror
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강
noerror
08_Wxwidgets 소개
08_Wxwidgets 소개
noerror
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문
noerror
07_스케일폼 소개
07_스케일폼 소개
noerror
07_Visual Shader Editor
07_Visual Shader Editor
noerror
06_HDR 소개
06_HDR 소개
noerror
06_게임엔진 활용팁
06_게임엔진 활용팁
noerror
06_자동차물리입문(1)
06_자동차물리입문(1)
noerror
Más de noerror
(20)
15_TextureAtlas
15_TextureAtlas
11_웹서비스활용
11_웹서비스활용
NDC08_실시간비주얼그래프편집
NDC08_실시간비주얼그래프편집
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
KCGS11_실시간 피사계 심도 렌더링 개선 기법
KCGS11_실시간 피사계 심도 렌더링 개선 기법
11_통계 자료분석 입문
11_통계 자료분석 입문
11_빠른 개발 가능한 레벨 편집 시스템
11_빠른 개발 가능한 레벨 편집 시스템
11_SH를 이용한 실시간 투명 근사법
11_SH를 이용한 실시간 투명 근사법
ICON08_게임 애니메이션 최적화 기법
ICON08_게임 애니메이션 최적화 기법
08_Marching Cube Terrains
08_Marching Cube Terrains
08_게임 물리 프로그래밍 가이드
08_게임 물리 프로그래밍 가이드
08_플래시 맛보기
08_플래시 맛보기
08_애니메이션고등학교 게임과 특강
08_애니메이션고등학교 게임과 특강
08_Wxwidgets 소개
08_Wxwidgets 소개
07_PhysX 강체물리 입문
07_PhysX 강체물리 입문
07_스케일폼 소개
07_스케일폼 소개
07_Visual Shader Editor
07_Visual Shader Editor
06_HDR 소개
06_HDR 소개
06_게임엔진 활용팁
06_게임엔진 활용팁
06_자동차물리입문(1)
06_자동차물리입문(1)
05_스마트 포인터 구현하기
1.
스마트포인터 구현
김성익(noerror@hitel.net) 2005.03.25
2.
개요 • 메모리 관리의
어려움 • 메모리 Leak의 문제점 • 자바의 가비지 컬렉트
3.
템플릿(1) • 데이터 타입(혹은
상수)때문에 메소드를 재정의 해야 하는 경우 • template 을 이용하면 다양한 데이타형 에 적합한 구현이 가능
4.
템플릿(2) • 효율적인 프로그래밍
작업가능 • Generic 프로그래밍이란 ?
5.
객체 생성/소멸자 • 객체를
더 이상 사용하지 않을 경우에는 소멸자 호출 • 생성자와 소멸자는 항상 짝을 이룸
6.
기타 • 클래스 연산자
오버라이딩
7.
Leak • 생성을 했으나
해제를 안 한 경우 • 빈번하게 발생 • 프로그래밍하는 작업자의 몫 • 근본적으로 자동화 가능하다면 ?
8.
스마트포인터 • 객체(메모리, 리소스)의
생성과 소멸 자 동화 • 일반 포인터 사용하듯이 사용 • 컴파일러에 의한 객체의 생성과 소멸 호 출 이용 • 연산자 오버라이딩 • 템플릿을 이용한 generic한 형태로 구 현
9.
과제: 자원 자동
해제 • 생성과 소멸자를 이용하여 포인터 자동 해제처리
10.
과제:일반 포인터
사용하듯이 사용 • 연산자 오버라이딩을 이용해서 그냥 포 인터 사용하듯이 사용
11.
과제:일반적인 형태로 사용 •
템플릿을 사용하면 타입의 제한 없이 사 용가능
12.
과제:자원공유 • 단순히 자원
해제에만 사용하지 않고, 같이 참조했을 때 중복 소멸하지 않아야 한다 • 해당 자원을 다른 스마트 포인터에서 사 용 중인지를 알아야 한다
13.
• 자원 사용시
이중 링크드 포인트로 연결 삽입해제의 손쉬움을 위해서 연결된 게 없다면 마지막 사용자 • 최종 코드
14.
15.
응용 : 소멸자정의 •
엔진에 응용하거나, 핸들에 응용할 경우 다른 소멸자 필요
16.
질문
17.
참고 • Modern C++
Design: Generic Programming and Design Patterns Applied Andrei Alexandrescu, Addison Wesley, 2001
Descargar ahora