반응형
is_base_of_v
는C++17
부터 도입된std::is_base_of
의 변형으로,std::is_base_of<T, U>::value
의 값(즉,true
또는false
)을 나타내는 변수 템플릿입니다.
-
cpp
#include <type_traits> #include <iostream> struct Base {}; struct Derived : Base {}; struct Unrelated {}; int main() { std::cout << std::boolalpha; std::cout << "Base is base of Derived: " << std::is_base_of_v<Base, Derived> << '\n'; std::cout << "Base is base of Unrelated: " << std::is_base_of_v<Base, Unrelated> << '\n'; return 0; }
-
output
Base is base of Derived: true Base is base of Unrelated: false
- 즉,
std::is_base_of_v<Base, Derived>
는std::is_base_of<Base, Derived>::value
와 동일하지만,::value
를 생략할 수 있어 코드가 더 간결해집니다.
- 도움이 되셨으면 하단의 ❤️ 공감 버튼 부탁 드립니다. 감사합니다! 😄
- 일부 모바일 환경에서는 ❤️ 버튼이 보이지 않습니다.
728x90
반응형
'C C++' 카테고리의 다른 글
C++ std::swap() 와 std::move() 의 작동 방식과 내부 원리 (0) | 2025.02.13 |
---|---|
noexcept in Modern C++ (0) | 2025.02.13 |
C++ 템플릿 파라미터(template parameter) 명명 규칙 (0) | 2025.02.12 |
C++ RAII(Resource Acquisition Is Initialization) 기반 파일 관리 클래스 분석 (0) | 2025.02.12 |
C++ 수학적 특수 함수와 ISO/IEC 29124 활용법 (0) | 2025.02.04 |