목록template (2)
Coding Memo
C++20에서 추가된 Concepts의 기능인 requires에 대해서 간단히 정리해보자. requires는 C#에 비유하자면 where와 비슷한 키워드라고 생각할 수 있을 것 같다.where가 C#에서 제레릭 타입에 대한 조건을 지정하듯이,C++에서도 템플릿 타입에 대해 조건을 지정할 수 있다. Concepts 도입 전에는 SFINAE(Substitution Failure Is Not An Error)를 이용해, 템플릿 타입을 제약했었다. 그러나 C++20 이후에는, 템플릿에서 requires를 이용하여 타입에 대한 제약 조건을 쉽고 직관적으로 지정할 수 있다. 먼저 일반적인 코드를 확인해보자.struct A {};template T add(T a, T b){ return a + b;}int main(..
일단은 해당 내용은 에러나 경고로 나타나지 않고, 단순히 output에서 나타난 일종의 메시지 이다.the template instantiation context (the oldest one first) is 1> ...Session.cpp(49,23): 1> see reference to function template instantiation 'std::shared_ptr NetCore::make_shared,NetCore::_ubyte*&,const size_t&>(std::shared_ptr &&,NetCore::_ubyte *&,const size_t &)' being compiled 1> with 1> [ 1> _Ty=NetCore::Send..