이왕 발 디딘 이승, 원없이 즐겨야하지 않겠소?

고정 헤더 영역

글 제목

메뉴 레이어

이왕 발 디딘 이승, 원없이 즐겨야하지 않겠소?

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • NaverBlog
  • Github
  • 분류 전체보기 (89)
    • 이승정복 프로젝트 (0)
      • 이승에서 뽕 뽑는 법 (0)
    • Study (83)
      • Language (21)
      • Algorithm (21)
      • Discrete math (6)
      • Graphics (18)
      • Tip notes (6)
      • And so on (6)
      • UnrealEngine4 (5)

검색 레이어

이왕 발 디딘 이승, 원없이 즐겨야하지 않겠소?

검색 영역

컨텐츠 검색

전체 글

  • [C++11 STL] std::shared_ptr 개요

    2022.02.25 by Arq.Dev5igner

  • [C++] 참조(레퍼런스) 변수 정리

    2022.02.25 by Arq.Dev5igner

  • [C++11 STL] std::array 개요

    2022.02.25 by Arq.Dev5igner

  • [C++ STL] std::set 개요

    2022.02.25 by Arq.Dev5igner

  • [C++ STL] std::forward_list 개요

    2022.02.25 by Arq.Dev5igner

  • [C++ STL] list 개요

    2022.02.25 by Arq.Dev5igner

  • [C++ STL] deque

    2022.02.25 by Arq.Dev5igner

  • [C++ STL] map

    2022.02.25 by Arq.Dev5igner

[C++11 STL] std::shared_ptr 개요

※ std::shared_ptr 요약 C++11에 새로 추가된 스마트 포인터인 shared_ptr에 대한 내용이다. 스마트 포인터란, 사용하지 않는 메모리나 사용이 끝난 메모리를 자동으로 해제/관리 해주는 것을 의미하는 것으로써 Java나 C#의 가비지 컬렉터와 비교 했을때 성능의 손해는 거의 없으면서 메모리 관리의 이점을 얻을 수 있으므로 편하고도 안전하다. 스마트 포인터는 메모리 누수 관리에 자신이 없는 초보자들이나 복잡하고 거대한 프로젝트를 진행할때 사용하면 적당할 거 같다. 그렇지만 필자는 스마트 포인터를 거의 사용하지 않는다. 아직은 직접 할당, 해제를 해줘야 안심?이 되기 때문이다. ※ std::shared_ptr 특징 - 레퍼런스(참조) 카운팅을 지원한다. - 명시적인 delete를 해주지 ..

Study/Language 2022. 2. 25. 17:47

[C++] 참조(레퍼런스) 변수 정리

※ 참조 변수 요약 신입 때 부터 정말 많이 사용해온 참조 변수는 C++에서 사용 가능한 문법이다.(C언어는 안됨) 참조 변수란, 다른 변수를 참조하는 변수로써 주로 C언어의 포인터와 비교를 많이 하고는 한다. 주로 전달 인자를 함수에 넘길때 사용되며, 구조체나 클래스와 같이 덩치가 큰 타입에 사용하여 속도를 높인다. C언어에서는 문자열이나 구조체 등과 같이 덩치가 큰 타입을 포인터로 넘기지만, C++에서는 포인터 대신에 주로 참조를 사용한다. ※ 참조 변수 특징 - 주 용도는 함수의 전달 인자(매개변수)에 사용한다. - 구조체나 클래스와 같이 덩치가 큰 타입에 사용하기 적합하다.(덩치가 큰 타입을 복사해서 넘길 경우 느리기 때문) - 참조 변수를 전달 인자로 사용하면 포인터처럼 복사본이 아닌 원본 데이..

Study/Tip notes 2022. 2. 25. 17:46

[C++11 STL] std::array 개요

※ std::array 요약 std::array는 C++11에 새롭게 추가된 컨테이너 라이브러리로써, 크기가 고정되어 있다는 것을 제외하면 std::vector와 비슷하다. 크기가 고정이므로 스택에 저장되며 C++03까지는 없었던 고정 길이 배열 자료구조 컨테이너로써 기존의 배열을 대체하기에 완벽하다. ※ std::array 특징 - 배열을 대체할 수 있다. - 정적 배열이므로 스택에 저장된다. (std::vector는 힙 메모리에 저장된다!) - 데이터가 연속된 위치에 저장되므로 랜덤 액세스가 가능하고 접근 속도도 빠르다. - 정적이므로 push_back(), pop_back(), insert(), erase(), clear(), resize(), reserve(), capacity()멤버 함수는 지원..

Study/Language 2022. 2. 25. 17:43

[C++ STL] std::set 개요

※ std::set 요약 std::set은 std::map과 상당히 비슷한 연관 컨테이너이다. 다른 점이 있다면 value 없이 key만으로 이뤄졌다는 것 정도이다. std::set은 노드 기반 컨테이너이며 균형 이진 트리로 구현 되므로 균형 이진 트리의 모든 특징을 갖는다. std::set은 std::map과 마찬가지로 중복된 key를 저장할 수 없으므로, 중복 저장하고 싶다면 std::multiset을 사용해야 한다. 동일 타입 집합이라는 점에서는 std::vector와 같지만 요소가 정렬된 위치에 삽입 된다는 점이 다르다. ※ std::set 특징 - std::set은 std::map과 상당히 비슷하다. 차이점이라면 std::map과 다르게 value 없이 key만 저장한다는 것 정도다. - std..

Study/Language 2022. 2. 25. 17:43

[C++ STL] std::forward_list 개요

※ std::forward_list 요약 std::list가 양방향(double linked list)이라면 std::forward_list는 단방향(single linked list)이다. 단방향 연결 리스트라 양방향인 std::list보다 메모리 사용량이나 처리 속도면에서 조금 유리하다. double linked list가 필요하다면 std::list를, single linked list로도 충분하다면 std::forward_list를 사용한다. ※ std::forward_list 특징 - single linked list(단일 연결 리스트) 자료구조를 이용하여 만든 시퀀스 컨테이너다. - 설계 디자인을 std::list에 맞춘다.(STL은 범용성을 지향하므로 다른 컨테이너들도 마찬가지다.) - 속도..

Study/Language 2022. 2. 25. 17:41

[C++ STL] list 개요

※ std::list 요약 std::list는 double linked list(이중 연결 리스트)라는 자료구조를 이용하여 만든 시퀀스 컨테이너다. 템플릿 기반이므로 임의 타입을 요소로 가질 수 있으며, 요소 개수에 따라 동적으로 메모리를 관리한다. double linked list로 되어 있기에 double linked list의 특징을 거의 그대로 가지고 있으며 linked list 자료구조에 대한 이해가 있어야 알맞는 상황에 알맞게 사용할 수 있다. 필자는 std::list를 거의 사용하지 않는다. 나뻐서 안 사용한다기 보다는 std::vector로도 충분한 상황이 대부분이기 때문이다. ※ std::list 특징 - 고정 길이인 배열에 비해 길이가 가변적이다. - std::vector와 달리 데이터..

Study/Language 2022. 2. 25. 17:40

[C++ STL] deque

※ std::deque 요약 std::deque는 Double Ended Queue의 약자로써, 시퀀스 컨테이너다. 필자는 시뮬레이터 서버를 제작할 때와 Singleton 방식의 Log Class를 제작할때 std::deque의 사용을 고려해본 적이 있다. ※ std::deque 특징 - 크기가 가변적이다. (사실 std::array를 제외한 거의 모든 STL 컨테이너의 특징이다.) - 앞(front)과 뒤(back)에서의 삽입, 삭제 성능은 좋지만 중간에서의 삽입, 삭제는 그다지 좋지 않다. - std::deque는 Stack과 Queue가 결합된 자료구조로써 연결 리스트보다 구현하기가 어렵다. - std::vector처럼 랜덤 액세스가 가능하다. ※ std::deque와 std::vector - st..

Study/Language 2022. 2. 25. 17:38

[C++ STL] map

STL이란 자료 구조와 알고리즘을 템플릿으로 제공하는 C++ 표준 라이브러리로써, Standard Template Library의 약자입니다. STL의 주요 구성 요소는 컨테이너, 할당기, 반복자, 어댑터, 알고리즘, 함수 객체로 이뤄져 있으며, 컨테이너, 알고리즘, 반복자가 가장 중요한 세 요소입니다. STL의 특징으로는 이름과 같이 일반화를 지원한다는 것과 광범위하게 이곳저곳에 두루두루 재사용 될 수 있다는 것입니다. 그 와중에도 (적재적소 사용시)효율은 떨어지지 않으며 표준이므로 이식성에도 좋고 다양한 자료구조와 알고리즘을 최적화하여 사용자가 쓰기 좋게 만들어 놓았으며 해당 알고리즘이 내부적으로 어떻게 동작하는지 몰라도 사용할 수 있는 특징들이 있습니다. STL의 단점으로는 템플릿에 기반 하기 때문..

Study/Language 2022. 2. 25. 17:36

추가 정보

인기글

최신글

페이징

이전
1 ··· 7 8 9 10 11 12
다음
TISTORY
이왕 발 디딘 이승, 원없이 즐겨야하지 않겠소? © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바