deulee의 개발 노트

고정 헤더 영역

글 제목

메뉴 레이어

deulee의 개발 노트

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (112)
    • C++ (79)
      • C++98 (36)
      • Modern C++(11, 14, 17, 20) (34)
      • C++ STL (9)
    • 데이터베이스 (0)
    • 컴퓨터 구조 (0)
    • 운영체제 (0)
    • 읽은 책 (0)
    • 네트워크 (0)
    • 알고리즘 (31)
      • 이론 (5)
      • 문제 (26)
    • 잡글 (1)
      • 아이디어 (0)
      • 해야할 것 (0)
      • 목표 (0)
      • 정보글 (1)
    • git (0)

검색 레이어

deulee의 개발 노트

검색 영역

컨텐츠 검색

분류 전체보기

  • [STL] 반복자(1)

    2023.08.23 by deulee

  • [STL] 컨테이너

    2023.08.23 by deulee

  • [STL] STL의 구조

    2023.08.23 by deulee

  • [INFO] Modern C++ 시작하며

    2023.08.14 by deulee

  • Makefile 만드는 방법

    2023.08.14 by deulee

  • C++ 멤버 포인터 연산자

    2023.08.09 by deulee

  • C++ Cast 연산자

    2023.08.09 by deulee

  • C++ RTTI

    2023.08.09 by deulee

[STL] 반복자(1)

C언어에서 가장 핵심적인 문법은 '포인터'를 선택할 것이다. 그리고 STL의 가장 핵심적인 요소는 바로 '반복자'이다. 반복자와 포인터의 역할은 사용 방법이 비슷하지만 훨씬 더 '일반화'되어 있어 임의의 컨테이너와 함께 사용할 수 있다. 반복자 이전의 컨테이너 순회 방법 1. 배열 순회하기 void Print(int* ar, int num) { for (int i = 0; i < num; i++) std::cout

C++/C++ STL 2023. 8. 23. 13:02

[STL] 컨테이너

컨테이너 '컨테이너(Container)'는 무엇인가를 저장한다는 의미로 타입이 같은, 즉 동질적인 객체의 집합을 저장하고 관리하는 역할을 한다. 예를 들면 '배열', '연결 리스트', '스택'등이 있다. 그리고 자료를 '저장하는 방식'과 삽입, 정렬, 삭제하는 '관리하는 방식'에 따라 '세 가지' 부류로 구분된다. 시퀀스 컨테이너 (Sequence Container) 자료의 선형적인 집합이며 자료를 저장하는 기본 임무에 충실한 가장 일반적인 컨테이너. 삽입된 자료를 무조건 저장함 시퀀스의 임의 위치에 원하는 요소를 마음대로 삽입, 삭제 가능 '벡터', '리스트', '데크' 세 가지의 시퀀스 컨테이너가 제공된다. 연관 컨테이너 (Associative Container) 일정한 규칙에 따라 자료를 조직화하여..

C++/C++ STL 2023. 8. 23. 12:24

[STL] STL의 구조

STL은 'Standard Template Library'의 약자로 라이브러리이되 템플릿의 집합을 제공하는 라이브러리이며 현재 C++의 표준으로 채택되어 있다. STL은 '일반화의 개념'에 의해 자주 사용되는 자료 구조와 알고리즘을 제공한다. 그럼 구조가 어떻게 이루어져 있는지 확인해보도록 하자. STL의 구조 STL은 다음의 여섯 가지의 구성 요소로 이루어져 있다. 이 중 '컨테이너', '알고리즘', '반복자'가 가장 중요한 세 가지 요소이다. 앞으로 차례대로 설명해 보도록 하겠다.

C++/C++ STL 2023. 8. 23. 12:24

[INFO] Modern C++ 시작하며

이 카테고리에서는 앞으로 Modern C++ 즉, C++11 부터 이후의 새로 추가된 C++ 기능들과 문법들을 알아보도록 하겠다. 이때 사용될 reference는 다음과 같다. https://github.com/AnthonyCalandra/modern-cpp-features GitHub - AnthonyCalandra/modern-cpp-features: A cheatsheet of modern C++ language and library features. A cheatsheet of modern C++ language and library features. - GitHub - AnthonyCalandra/modern-cpp-features: A cheatsheet of modern C++ languag..

C++/Modern C++(11, 14, 17, 20) 2023. 8. 14. 10:28

Makefile 만드는 방법

Makefile에 대해서 알아보기 전에 프로그램의 빌드가 어떻게 이루어지는지 먼저 알아보도록 하자. 1. 프로그램의 빌드 과정 애초에 소스코드는 인간이 이해하고 작성하기 위해서 만들어진 언어로 작성된거지 컴퓨터가 이를 알리가 없다. 그래서 빌드 과정을 통해 컴퓨터에서 이해할 수 있는 기계어로 해석하고 실행 가능한 파일로 만드는 과정을 빌드(Build)라고 한다. source -> build -> exe 식으로 말이다. C와 C++이나 대부분의 언어는 다음과 같은 빌드 과정을 가진다. 프리프로세싱 -> 컴파일링 -> 어셈블링 -> 링킹 프리프로세싱 (Preprocessing): 소스 코드 파일을 컴파일하기 전에 전처리 단계가 진행된다. 전처리기는 '#include' 문을 처리하여 헤더 파일을 포함하고, 매..

잡글/정보글 2023. 8. 14. 09:55

C++ 멤버 포인터 연산자

1. 멤버 포인터 변수 멤버 포인터 변수란 특정 클래스(구조체 포함)에 속한 멤버만을 가리키는 포인터이다. 선언 형식은 다음과 같다. 타입 클래스::*이름; 1. 포인터 변수이므로 대상체의 타입 필요. 2. 특정 클래스 소속의 변수만을 가리킬 수 있으니 클래스 소속을 밝혀야 함. 3. 소속 뒤에 포인터임을 나타내는 구두점 "*"를 적음 4. 그리고 변수 이름을 적음 예시를 한번 보도록 하자. #include class MyClass { public: int i, j; double d; }; int main(void) { MyClass C; int MyClass::*pi; double MyClass::*pd; pi = &MyClass::i; pi = &MyClass::j; pd = &MyClass::d; ..

C++/C++98 2023. 8. 9. 14:41

C++ Cast 연산자

C++에는 총 네 가지의 Cast 연산자가 있는데 정리된 것 부터 알아보도록 하겠다. 캐스트 연산자 변환 형태 static_cast 상속 관계의 클래스 포인터 및 레퍼런스. 기본 타입. 타입 체크 안함 dynamic_cast 상속 관계의 클래스 포인터 및 레퍼런스. 타입 체크. RTTI 기능 필요 const_cast const, volatile 등의 속성 변경 reinterpret_cast 포인터끼리, 포인터와 수치형간의 변환 그럼 하나씩 차례대로 알아보도록 하자. 1. static_cast "static_cast" 연산자는 지정한 타입으로 변경하는데 무조건 변경하는 것이 아니라 "논리적으로 변환 가능한 타입"만 변환한다. 기본적인 문법은 다음과 같다. static_cast(대상) 예시 #include ..

C++/C++98 2023. 8. 9. 12:47

C++ RTTI

1. 실시간 타입 정보 "RTTI(RunTime Type Information)"은 실시간 타입 정보를 의미한다. 일반적으로 변수의 이름이나 타입은 컴파일러가 컴파일을 하는 동안에만 필요한 것이지 이진 파일로 변역되고 나면 이 정보들은 필요가 없어진다. 변수의 타입은 읽어들일 길이와 비트를 해석하는 정보로만 사용되며 기계어 수준에서는 길이와 비트해석 방법에 따라 생성되는 기계어 코드가 달라진다. 클래스 또한 기계어로 바꾸면 구조체랑 별반 다를게 없다만 "가상 함수"가 존재할 시 "vtable"을 가리키는 "vptr" 하나만 추가된다. 또한, 멤버 함수도 첫 번째 인수가 "this"로 고정되어 있는 것 빼고는 일반 함수와 다를바가 없다. 즉, CPU는 타입을 인식하지 않고 메모리에 있는 값을 지정한 길이만..

C++/C++98 2023. 8. 9. 10:48

추가 정보

인기글

최신글

페이징

이전
1 ··· 3 4 5 6 7 8 9 ··· 14
다음
TISTORY
deulee의 개발 노트 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바