CPP 3

[C++][clang-tidy] clang-tidy modernize-pass-by-value 문서 번역 및 해설

modernize-pass-by-valueWith move semantics added to the language and the standard library updated with move constructors added for many types it is now interesting to take an argument directly by value, instead of by const-reference, and then copy. This check allows the compiler to take care of choosing the best way to construct the copy.언어에 이동 의미론(move semantics)이 추가되고많은 타입에 대한 이동 생성자(move cons..

Programming/C&C++ 2022.12.13

can't delete incomplete type

class SessionImpl; class Session { public: Session() = default; virtual ~Session() = default; private: std::unique_ptr pImpl_; }; 이 코드를 빌드하면 visual studio 에서 아래 오류가 발생한다. 오류 C2027 정의되지 않은 형식 'SessionImpl'을(를) 사용했습니다. 경고 C4150 불완전한 형식 'SessionImpl'에 대한 포인터를 삭제했습니다. 소멸자가 호출되지 않습니다. 오류 C2338 can't delete an incomplete type 이유는 SessionImpl 이 전방선언되어 있고 Session의 생성자/소멸자가 SessionImpl의 정의를 알 수 없기 때문이다. ..

Programming/C&C++ 2021.05.17