전문가를 위한 c++ 10강 공부한거 요약
c++11/ c++14
유니폼 초기화
유니폼 초기화를 사용하면 축소 변환이 일어날 경우 컴파일 에러를 발생시킨다. 유니폼 변환은 STL 컨테이너에도, 동적으로 할당되는 배열에도, 생성자 초기화 리스트에도 이용할 수 있다.
초기화 리스트
생성자 초기화 리스트와는 다르다! 다르다!
속성
사용자 정의 리터럴
C++ 리터럴 표준
1. 문자 'a'
2. "character array"
3. float
4. 0xab
c++11은 리터럴 연산자를 통해 리터럴을 정의할 수 있게 한다.
미가공 모드에서는 문자/문자열, 가공모드에서는 int같은 특정 타입의 값을 받는다.
헤더파일
그 다른이름은 순환참조 척결
1. 인클루드 가드
2. #pragma once
#ifndef ~ #endif와 #pragma once 지시자는 헤더 파일의 중복 인클루드와 심벌의 중복 정의도 막아준다. 다른 두 헤더에서 하나의 헤더를 인클루드하더라도 중복 인클루드를 막는 장치가 되어있기때문에 클래스의 중복 정의로 의한 컴파일 에러가 발생하지 않는다.
3. 전방(foward) 선언
참조하는 클래스가 있다는 사실만 컴파일러에게 알려주고 상세한 정의 부분을 생략하는 것. 구현부에서는 포워드 선언했던 클래스의 헤더파일을 인클루드 해야한다.
포워드 선언을 사용하면 파일간의 종속성이 줄어들기 때문에 컴파일 시간이 단축된다.
'2020 이전 > C++' 카테고리의 다른 글
거부할 수 없는 너의 흑마법은 멀티스레딩 (0) | 2019.08.05 |
---|---|
해시 버켓 사이즈 비교 실험 (0) | 2019.07.06 |
C++의 까다롭고 유별난 친구들 (0) | 2019.03.13 |
C++ 함수포인터 넘겨줄 때 명시적 형식이 없습니다 (0) | 2019.02.21 |
C++ std::function 콜백 (0) | 2019.02.06 |