안녕하세요 Cppreference.com에서 이와 같은 많은 예를 보았습니다.
std::is_class<T>
std::is_integral
등등. 내가 얻을 예를 들어 코드를 실행하면 알 수 true또는 false. 그러나 그 점은 무엇입니까? 예를 들어 객체가 클래스 유형인지 아는가?
#include <iostream>
#include <type_traits>
struct A {};
class B {};
enum class C {};
int main()
{
std::cout << std::boolalpha;
std::cout << std::is_class<A>::value << '\n';
std::cout << std::is_class<B>::value << '\n';
std::cout << std::is_class<C>::value << '\n';
std::cout << std::is_class<int>::value << '\n';
}
출력 :
true
true
false
false
나는 이것을 사용하여 실제 예를 들어 모두를 통해 검색 한 (
is_class,is_integral,is_arithmetic, ...) 그러나 모든 튜토리얼 만 희망이 예를 보여줍니다 만true나false.이 템플릿을 사용하는 작은 유용한 예를 들어 주시겠습니까?
std::copy. 의 유형이 경우 어떻게std::copy의 배열과 같은 "간단한"있다int거나char? 을 사용memcpy하시겠습니까? "유형이 간단한 경우 memcpy를 사용하고 그렇지 않으면"느린 "루프를 사용하십시오"라고 어떻게 말합니까?