[C++ adv] c++11

1,071 views

Published on

0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,071
On SlideShare
0
From Embeds
0
Number of Embeds
60
Actions
Shares
0
Downloads
24
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide

[C++ adv] c++11

  1. 1. C++11의 새로운 기능들 박민근
  2. 2. C++11 이란? C++의 추가된 표준 기능. 11은 2011년도에 ISO 승인이 난것을 의미. Boost의 일부 라이브러리 포함 짱짱한 기능으로 무장해서 발전됨
  3. 3. C++98 C++03 <출처 : [KGC2012] Boost 라이브러리와 C++11 > 최흥배
  4. 4. 2006년까지 새로운 표준에 들어갈 기능을 제안 받 음 당초 계획은 2009년까지 표준을 확정하는 것. 그래서 C++0x라고 부르기로 함
  5. 5. 2011년 8월 12일에 ISO에서 승인을 받음 C++11
  6. 6. • C++0x TR1 라이브러리 추가 • VC++ 버전 9 <출처 : [KGC2012] Boost 라이브러리와 C++11 > 최흥배
  7. 7. • auto • static_assert • rvalue Reference • lambda • decltype • nullptr • unique_ptr • make_shared • STL 추가 <출처 : [KGC2012] Boost 라이브러리와 C++11 > 최흥배
  8. 8. <출처 : [KGC2012] Boost 라이브러리와 C++11 > 최흥배 http://msdn.microsoft.com/ko-kr/library/vstudio/hh567368.aspx
  9. 9. auto 컴파일 타임때 타입이 자동으로 정해 진다!
  10. 10. auto STL의 Iterator 사용시에 유용
  11. 11. 람다 이름 없는 함수. 함수 객체가 들어가야할 자리에, 대신에 간단히 함수 자체를 직접 구현 가능 함수 포인터처럼 사용도 가능 STL의 함수 객체 대신에 아주 유용하다.
  12. 12. 람다
  13. 13. 람다
  14. 14. Range base for 배열과 STL의 반복 for문을 한큐에 간단하게~!
  15. 15. Range base for
  16. 16. nullptr NULL(0)이 아닌, 진짜 NULL Pointer 기존의 NULL(0)하고도 호환이 된다.
  17. 17. shared_ptr 새 버전의 스마트 포인터. 기존의 auto_ptr이 있었지만, 문제가 많아서 거의 쓰이지 않았음 그런 문제들을 해결한 스마트 포인터
  18. 18. shared_ptr
  19. 19. shared_ptr
  20. 20. shared_ptr
  21. 21. shared_ptr
  22. 22. shared_ptr
  23. 23. unique_ptr 순환 참조 문제를 해결하기 위해서, 참조가 단 1개만 존재하는 유니크 스마트 포인터 사용법은 shared_ptr과 동일하다
  24. 24. tuple 2개 이상의 서로 다른 데이터 타입을 하나로 묶을 수 있다 2개 이상의 리턴값이 필요하는 곳등에서 활용
  25. 25. tuple
  26. 26. tuple
  27. 27. array 일반 고정 배열 타입. Vector<>는 동적 배열 타입인데 반해, 정말 말 그대로 일반 배열
  28. 28. forward_list 단방향 리스트 (list<> 는 양방향 리스트) 양방향 List 보다 용량이 적고, 속도가 빠르다.
  29. 29. forward_list Emplace : 중간 복사본을 생성하지 않고, 원소에 직접 대입한다.
  30. 30. forward_list
  31. 31. forward_list
  32. 32. Unordered_map 정렬되지 않은 Map. Hash_map 과 같은 구조
  33. 33. Unordered_map
  34. 34. chrono 나노세컨드까지 계산이 가능한 초정밀 타임 객체
  35. 35. chrono
  36. 36. thread 멀티스레드 라이브러리
  37. 37. thread
  38. 38. thread
  39. 39. 동기화 객체
  40. 40. 동기화 객체
  41. 41. std::atomic Lock 없이 Lock-Free로 변수값을 변경할 수 있다.
  42. 42. async/future 함수를 비동기로 실행하기
  43. 43. 참고 자료 • [KGC11] Boost 라이브러리와 C++11 (최흥배) • Think About C++11 STL (최흥배/한빛미디어)

×