C++에서 지원하지 않아 OS마다 구현 방법이 달랐다.OS Lib를 가져다 써야하던 Thread 기능이 생겼다. (C++11)참고 : https://en.cppreference.com/w/cpp/thread표준 c++ 쓰레드이동 가능복사 불가능Thread의 고
아직 공식지원하지 않는 기능이다.2020 출시될 예정?.cpp와 .h를 나눌 필요가 없어진다.컴파일 속도가 빨라진다.java package처럼 작동한다..cpp, .h 있는 레거시 코드는 어떻게?Math.hMath.cppMain.cppMath.ixxMain.cpp
C++17의 새로운 라이브러리이다. "std::fs"그 전에는 파일 시스템의 구성요소에 연산할 방법이 없었다.\-> 운영체제에 있는 lib를 사용했다.위치가 같으면 변경과 같다.재귀적으로 파일을 순회한다.
이름이 없는 함수 개체내포되는 함수재활용하지 않을 일회성 함수를 간편하게 작성하는 방법\[] 안에 외부 변수 Capture 방식을 지정한다.값에 의한 캡쳐 개체를 수정할 수 있게 해준다.괜찮은 언어 디자인이나 기존 c++ 방식과 반대된다.반환형을 지정해 준다.안적어도
컴파일중 값으로 변경할 수 있으면 런타임이 아닌 바로 값으로 변경해 놓는다.변경이 불가능하면 런타임시 함수 수행.constexpr을 사용하지 않아도 자발적으로 값으로 변경해 놓는 컴파일러도 있다.constexpr은 컴파일시 평가해 달라는 개발자의 의도를 보여주는 방법이
주소가 있음이름이 있는 변수const 변수배열 변수비트 필두구조체클래스\-> 지금껏 봐왔던 일반적인 변수일시적인 값&& -> rvalue 참조 연산자& -> lvalue 참조 연산자move()lvalue를 rvalue로 변환하여 반환하는 함수였다.student2로 데이
unique_ptr <- 중요, 강추shared_ptr <- 잘안씀weak_ptr <- 잘안씀메모리 해제를 수동으로 해주어야 한다.스마트 포인터는 delete를 직접할 필요가 없다.가비지 콜렉터보다 빠르다.주기적으로 가비지를 콜렉터하는게 아니라 필요하지
단순히 C 스타일 배열을 추상화 한것.요소 수를 기억하지 않음.그렇게 유용하지 않음.경계체크를 해주나 FixedVector를 직접 만들어 쓰는게 나아보인다.
보통 예상되는 hashed기반이 아닌 이진트리 기준으로 정렬을 하는 Container 였다. 삽입/제거에 성능이 저하된다.그래서 정렬을 하지 않는 추가 Container를 만들었다.기준 map과 기능은 같다.해시맵 기반 -> 해시함수가 생성하는 색인 기반의 버킷들로 구
타입이라기 보다는 실제로는 정수이다. 서로 다른 enum이라도 순서(=숫자)만 같아도 비교가 가능하다. Type 체크를 안하기 때문 잘못된 비교 가능.서로 다른 enum class끼리는 비교할 수 없다.독자적 타입으로 인정되어 자료형 검사.타입 고정 가능단순 int가
사실 int는 4 Byte라는 표준은 없다.플랫폼마다 다를 수 있다.다른 기본 자료형도 마찬가지다.char, short, long, long long, int ...컴파일러 제작자에게 달려있다.int8_t, uint8_tint16_t, uint16_tint32_t, u
기존 NULL의 문제?C에서 NULL은 사실 숫자 0이다.int에 넣으면 0이 들어간다.nullptr을 순수 NULL을 의미한다.int에 넣을 수 없다.nullptr을 사용하자!
멤버들의 상대적 위치(offset)을 구한다.특정 멤버가 본인을 포함한 자료 구조 시작점부터 몇 바이트만큼 떨여져 있는지 알려준다.직렬화, 역직렬화에 유용하다.매크로 이다.
클래시나 가상 함수의 상속을 막는다.컴파일 도중 확인 가능하다 (good)가상 함수가 아니면 쓸 수 없다.잘못된 함수 오버라이딩을 예방한다.컴파일 도중 검사한다.가상 함수가 아니면 쓸 수 없다.
생성자와 관련된 키워드이다.compiler가 생성자를 자동으로 만들어 달라는 표현이다.default가 없어도 자동으로 생성해주지만 다른 해석의 여지가 있다.명확하게 작성해 주는게 좋다.compiler가 자동으로 만들어 주길 원하지 않을 때 사용한다.private 영역에
assert -> 실행 중 조건이 부합하는지 평가한다.assert는 runtime에서 확인할 수 있다.complie 과정에서 assert 수행한다.assert 보다 static_assert를 사용하자.좋은 습관이므로 많이 사용하자.
데이터형을 자동으로 추론 정한다.컴파일시에 정해진다. -> 초기화가 필수다.auto, auto\*, auto& 셋다 가능.auto가 auto를 대체할 수 있다. (하지만 가독성을 위해 auto로 표현)auto가 auto&를 대체할 수 없다.const를 포함하여 대체 가
요소 범위에서 쓸 수 있는 함수들 배열 or 몇 STL Container에서 사용 가능반복자를 통해 접근Container의 크기를 변경하지 않음변경 불가 find(), for_each() ...변경 가능 copy(), swap() ...정렬sort(), merge()