본문 바로가기

언어77

[C++ STL] 3-1. 컨테이너 - 시퀀스 컨테이너(sequence container) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 1. 시퀀스 컨테이너(sequence container) 특징 메모리 상에서 모든 요소가 직선 순서로 배치되어 순서가 존재해야 한다. 즉, 첫 번째 요소와 마지막 요소를 제외한 모든 요소는 앞뒤로 컨테이너의 요소가 존재해야 한다. 반복자가 이동할 때 요소의 순서가 변경되지 않음을 보장하기 위해 반복자는 최소 순방향 반복자를 사용해야 한다. 시퀀스 컨테이너는 직선 순서로 배치되어 명확한 순서가 존재하므로 특정 위치에 대한 참조가 가능해야 한다. 2. vector 벡터는 동적 배열의 클래스 템플릿으로 가장 기본이 되는 컨테이너이다. 벡터는 데이터가 들어가고 나올 수 있는 입출구가 뒤쪽 하나이며 앞쪽은 .. 2020. 1. 16.
[C++ STL] 2. STL 구성요소 간략정리 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 1. 컨테이너(container)란? STL의 구성요소로 컨테이너, 반복자, 알고리즘이 존재한다. 그중 하나인 컨테이너에 대해 먼저 정리하자. 컨테이너(container)는 같은 타입의 여러 객체를 저장하는 객체로 일종의 객체들의 집합이라고 할 수 있다. 컨테이너는 클래스 템플릿으로 작성되어 있어 컨테이너 변수를 생성할 때 템플릿 인자로 요소의 타입을 명시해야 한다. 따러서 대입할 수 있는 타입의 객체만을 저장해야하며 복사 생성또한 가능하다. 또한 요소의 추가 및 제거를 포함해 다양한 기능을 수행하는 멤버 함수가 존재한다. 2. 컨테이너 종류 컨테이너는 자료를 저장하는 방식과 관리하는 방식에 따라 .. 2020. 1. 15.
[Python 기본 공부정리] 13-4. 라이브러리(library) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 9. random 난수를 발생시키는 라이브러리이다. ① random.random() : 0.0~1.0 사이의 실수 중 하나를 난수로 반환해주는 함수이다. ② random.randint(시작 정수값, 마지막 정수 값) : 시작~마지막 사이의 랜덤 값을 반환 이런 식으로 직접 계산을 통해 원하는 값을 설정할 수도 있지만 파이썬에서는 좀 더 쉬운 방법을 제공한다. randint를 사용하면 시작과 끝으로 설정한 정수 사이의 값이 난수로 반환된다. ③ random.choice() choice함수는 리스트에 관련된 함수로 리스트에 있는 요소를 무작위로 선택하여 반환해준다. ④ random.shuffle() s.. 2020. 1. 15.
[Python 기본 공부정리] 13-3. 라이브러리(library) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 6. tempfile 임시적으로 파일을 만들어 사용할때 유용하게 쓰이는 라이브러리이다. ① tempfile.mktemp() : 임시로 중복되지 않는 이름의 파일을 만들어서 돌려주는 함수이다. 임시로 tmpd5l11vup라는 이름의 파일이 생성된 것을 확인할 수 있다. ② tempfile.TemporaryFile(모드) : 임시적인 저장공간으로 사용될 파일 객체를 돌려주는 함수이다. 모드를 따로 설정하지 않을경우 w+b모드를 갖는다. 기본적으로 w+b모드를 가지기 때문에 따로 모드를 설정해주지 않으면 Hello라는 문자열을 입력하지 못하게 된다. 따라서 텍스트 모드를 붙여서 모드를 설정해야 하고 파일.. 2020. 1. 14.
[C++ STL] 1-3. 템플릿 - 스마트 포인터(smart pointer) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 1. 스마트 포인터(smart pointer)란? 자바의 경우 garbage collector를 통해 메모리를 관리하지만 c++은 사용자가 스스로 메모리를 할당 해제를 통해 관리해야 한다. c에서는 malloc, free로 메모리를 할당및 해제를 수행하고 c++은 new, delete를 사용한다. 이때 할당받은 메모리를 해제하지 않을경우 프로그램은 계속 사용하고 있는 메모리로 인지하고 해당 메모리를 사용하지 않는 메모리 누수(memory leak)가 발생한다. 이와 같은 메모리 누수를 방지하기 위해 스마트 포인터를 제공해준다. 스마트 포인터는 포인터 처럼 사용하는 클래스 템플릿으로 메모리를 자동으로.. 2020. 1. 14.
[Python 기본 공부정리] 13-2. 라이브러리(library) 공부 내용을 정리하는 목적 이므로 참고용으로만 읽어 주시기 바랍니다. 틀린 부분에 대한 지적은 감사합니다. 3. os os라이브러리는 컴퓨터의 시스템 자원을 제어할 수 있게 도와주는 라이브러리다. 파일,디렉토리등의 추가 또는 제거를 수행하거나 환경변수, 시스템 명령어를 제어할 수 있게 한다. 해당 라이브러리의 함수들을 정리해 보자 ① os.environ : 시스템의 환경 변수값 들을 보여주는 역할을 한다. 시스템의 정보를 딕셔너리 객체로 반환한다. os.environ을 통해 현재 시스템의 환경 변수 값이 딕셔너리 객체로 반환되는 것을 확인할 수 있다. 현제 파이썬을 동작하기 위한 파이참도 등록되어 있는것을 확인할 수 있다. 딕셔너리 객체로 반환되기 때문에 딕셔너리의 기능을 사용할 수 있다. 따라서 위와 .. 2020. 1. 13.