본문 바로가기

전체 글

[C] 동적 메모리 동적 메모리는 프로그램 실행시간에 메모리를 할당 받아 사용합니다. 말 그래도 '동적메모리'입니다. 프로그램 실행시에 사용자가 직접 필요한 메모리를 생성하고 프로그램 실행시 사용자가 직접 삭제할 수 있습니다. 보통 프로그램 중 가장 많은 메모리 공간을 사용합니다. 동적 메모리는 Heap 영역에 생성되며 저장소 키워드나 변수가 따로 존재 않고 malloc()함수를 사용하여 메모리 할당 후 주소를 이용한 메모리 접근 방식을 사용합니다. 동적 메모리 할당 malloc() 함수 사용 - 몇 가지 함수가 더 있지만 응용함수 일뿐 모두 malloc()함수의 확장형태입니다. 동적 메모리 삭제 free() 함수 사용 가장 간단한 예제 #include #include void main( ) { int *pn; pn = m.. 더보기
[C++]템플릿(template) 템플릿은 두 가지가 있습니다. 함수 템플릿 : 함수를 만들어 내는 메타 함수 클래스 템플릿 : 클래스를 만들어 내는 메타 클래스 1, 함수 템플릿 함수 템플릿은 함수를 만들기 위한 메타 함수( 함수의 틀)입니다. 함수는 어떤 기능을 수행하는 연산들의 집합입니다. 만약 출력 기능을 하는 함수가 있다면 이 함수의 기능은 출력입니다. 이때 지금까지 공부한 함수는 출력할 데이터(정수, 실수, 문자, 문자열 등)가 무엇인지에 따라 여러개의 함수를 작성해야만 했습니다. 함수 템플릿을 사용하면 메타 함수만 만들어 놓고 출력할 데이터의 타입을 컴파일 시간에 결정하여 여러 함수를 자동으로 생성할 수 있습니다. 예를 들어 설명하겠습니다. 정수, 실수, 문자열을 출력하는 예제입니다. #include using namespa.. 더보기
[C++]STL 표준 C++ 라이브러리 STL은 표준 C++ 라이브러리의 일부분으로 Standard Template Library의 약자 입니다. STL은 사람마다 조금씩 다른 정의를 내립니다. C++권위자인 Scott Meyers는 STL을 "반봅자를 가지고 동장하는 C++ 표준 라이브러리의 일부분"이라고 정의했습니다 STL은 우리가 C++프로그래밍에서 만들어야 하는 여러가지 자료구조 클래스와 알고리즘 등을 미리 만들어 놓은 라이브러리로 반복자라는 놈을 통해서 동작하는 라이브러리입니다. STL의 주요 구성요소 컨테이너(Container) : 객체들을 저장하는 개개체 혹은 클래스(vector, list, string, map) 반복자(iterator) : 컨테이너에 저장된 요소를 순회하고 접근하는 객체 혹은 클래스(추상화) 알고리즘(Algor.. 더보기