본문 바로가기

scott meyers

C++11 Emplace- SCOTT MEYERS 강의 후기 C++11 emplace 함수는 기존의 함수와는 또 다른 방식이다. 예를 들어 vector에 원소를 삽입할때 다음과 같이 할 수 있다. vs.push_back("XYXY"); vs.emplace("XYXY"); 작동은 동일하다. 하지만 내부적으로는 차이가 있는데 전자의 경우, 문자열 임시변수가 만들어지고 복사 그리고 임시변수 파괴의 과정을 거친다. 하지만 후자의 경우 벡터 컨테이너 안에서 직접 생성한다. std::vector::insert copies or moves the elements in to the container by calling copy constructor or move constructor. while, In std::vector::emplace elements are construc.. 더보기
C++11 constexpr - Scott Meyers 강의 후기 이번 2016 NDC에서 스캇메이어스 아저씨의 강연중 나온 내용이다. C++11 에서 추가된 CONSTEXPR! 스캇아저씨가 매우 흥미롭다며 소개해준 파트중 하나였는데, 일반적인 설명은 넷상에도 많이 있으니 참고하면 되고, https://msdn.microsoft.com/ko-kr/library/dn956974.aspx http://egloos.zum.com/sweeper/v/3147813 링크에도 나와있는 내용이지만, 언뜻 템플릿메타 프로그래밍과 비슷해 보이지만, 템플릿함수는 컴파일타임에 수행이 되므로 파라미터가 상수여야 하지만, constexpr 함수는 런타임에도 사용이 가능하다는 점이다. 또한 C++14에서 좀 더 제약이 적어졌다는 것이다. 그 예로 리턴표현식이 하나만 가능했던점이 여러개 지원이 가.. 더보기