Home CPP Module 00 : C++ 기초
Post
Cancel

CPP Module 00 : C++ 기초

Ex00

주요 개념

  • std::toupper
    • int toupper ( int c );
    • int 형으로 반환
  • static_cast<char>을 사용해 toupper의 반환값인 int를 char로 형변환.
    • static_cast
      • 기본 자료형의 형변환에 사용됨

Ex01

주요 개념

failbit

  • int가 아닌 char를 입력받으면 failbit가 켜짐.
  • 따라서 std::cin.fail()이 true를 리턴함.
  • clear함수를 이용해 비트를 초기화해줘야 함.
  • ignore : 스트림 버퍼가 보유한 내용을 지우는데 사용

과제 조건

  • 클래스명은 UpperCamelCase를 준수해야함.
    • 클래스를 포함하는 파일의 이름은 해당 클래스명을 따라야 함.

과제 구현

  • 유의 사항
    • 8명 넘으면 1번부터 덮어쓰는 부분.
    • search할때 9 입력 가능성
    • search할때 int가 아닌 char 입력 가능성
      • failbit 확인

Ex02

주요 개념

  • iterator
    • 컨테이너(vector, pair 등)의 요소를 참조하기 위해 사용
  • vector
    • 동적 배열인 자료 구조
    • 크기를 확장할 수 있다.
  • pair

    1
    
      template <class T1, class T2> struct pair;
    
    • 두 개의 값을 쌍으로 묶는다.
  • for_each
    • 인자로 받은 함수를 범위에 적용시킨다.
  • strftime
    • 시간을 문자열로 만들어 buffer에 저장함
  • 기타
    • 소멸자 호출 순서가 log파일과 다른 이유
      • 운영체제마다 소멸자를 호출하는 순서가 다르기 때문.

      Untitled

  • 문제 발생

    Untitled

    • static 변수를 cpp 파일 상단에 선언해주지 않아서 발생

평가 후기

  • ex00
    • static_cast 개념
  • ex01
    • cin이 EOF를 받은 경우 무한루프가 발생하는 문제
      • fail 비트를 확인해서 exit
    • 문자열을 입력받을 때 단어를 두 개 이상 입력하면 에러 발생
    • 외부에서 사용되지 않는 함수는 모두 private으로 설정

Ref.

This post is licensed under CC BY 4.0 by the author.

miniRT ③ 구현 과정

CPP Module 01 : 클래스