C++ 4

[C++] C++에서 class 배우기

Class클래스는 기존 C의 abstraction과 modularity가 부족한 것을 해결하기 위해 통합된 것으로 C++의 중심적인 기능으로 자리 잡았다.class는 data information과 procedural information으로 구성된다.data information을 attributes, data field라고 하며 Procedural information을 method, function이라 한다. Object는 data attribute와 behavior를 포함하는 개념으로 class에서 구체적으로 실현하는 Runtime instance이다. C에 class와 유사한 structure라는 구조가 있다. structure는 단순히 데이터를 묶는 컨테이너로 함수(method, behavio..

Computing 2025.04.10

[C++] Pointers and References part 1

Variable과 Memory어떤 variable이 선언될 때, variable을 위한 공간이 memory에 만들어지고 memory의 주소가 variable의 이름과 associate 된다.변수명을 주소처럼 이용하는 것이다.주소는 "&x"으로 접근할 수 있다.PointersPointer는 똑같은 변수이다...(어렵게 생각 no)평범한 변수인데 단지 memory address가 value인 변수이다. 주로 8byte의 크기를 가진다.(integer:4byte, char:1byte) pointer가 어떤 type의 data를 가지고 있느냐에 따라 pointer를 지정하는 방법이 다른데type정보 *변수명=&x;int *ptr=&x;처럼 쓸 수 있다. pointer 변수 ptr이 가리키는 주소에 담긴 valu..

Computing 2025.03.25

[C++] C++ Standard Library Part 3. Container에 대해 자세히 알아보기

Listlist는 sequence container로, 요소들이 메모리상에 연속적으로 배치되지 않고, non-contiguous 메모리 할당 방식을 사용한다.보통 doubly linked list 형태로 구현돼 있어, 각 노드가 이전 노드와 다음 노드를 가리킨다. 주요 특징은효율적인 insertion 및 deletion: list의 중간, 시작, 끝 어디에서나 insertion, deletion연산이 빠르게 가능하다.Random Access가 불가능하다. 원하는 element에 접근하기 위해서는 순차적으로 접근해야 한다.List-initialization항상 헤더를 포함해야 하고 list의 경우는 include 를 포함해야 한다. vector initialization과 비슷하다. list를 선언할 때,..

Computing 2025.03.20

[C++] C++ Standard Library part1. I/O streams

My First C++ Program#include int main(void) {std::cout C++ 소스 코드 파일을 하기 실행 가능한 파일로 변환하기 위해 다음과 같이 적는다.$ g++ helloC++.cpp –o helloC++ -std=c++20이 명령어를 분석해 보면 g++: C++컴파일러를 실행한다.helloC++. cpp -o helloC++: helloC++. cpp 소스코드를 helloC++로 출력파일을 지정한다.-std=c++20: C++20 표준을 사용하여 컴파일한다.#include int main(void){ printf("Hello C!\n"); return 0;}C++소스코드와 동일한 기능을 하는 C코드이다.둘을 비교해 보면header file: stdio.h vs..

Computing 2025.03.12