C++ 썸네일형 리스트형 C++11 재정의규칙과 override class A{public:virtual void doWork() { printf(" I am A");}}; class B : public A{public:virtual void doWork(); { printf(" I am B");}}; using namespace std; unique_ptr object = make_unique(); object->doWork(); 하면 어떻게 될까? B클래스에서 doWork()를 재정의 하였기 때문에 당연히 "I am B" 가 출력이 된다. 이와 같이 멤버함수의 재정의를 하기 위해선 몇 가지 조건을 만족해야 한다. * 기본 클래스 함수가 반드시 가상 함수이어야 한다. * 기본 함수와 파생 함수의 이름이 반드시 동일해야 한다 (소멸자는 예외) * 기본 함수와 파생 함.. 더보기 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.. 더보기 이전 1 다음