Giriş
İki tipin aynı olup olmadığını kontrol etmek için kullanılabilir. Bu metodun daha özelleşmiş halleri şunun gibidir
T tipinin const char olup olmadığını kontrol etmek için şöyle yaparız
Elimizde şöyle bir kod olsun.
İki tipin aynı olup olmadığını kontrol etmek için kullanılabilir. Bu metodun daha özelleşmiş halleri şunun gibidir
std::is_integral_v<T>
std::is_floating_point<T>
Eğer C++11 kullanıyorsak std::is_same() kullanılır. Açıklaması şöylestd::is_same<A, B>::value is equivalent to std::is_same_v<A, B>Örnek - const char olup olmadığı
T tipinin const char olup olmadığını kontrol etmek için şöyle yaparız
template <typename T>
void foo(const T &t) {
if constexpr (std::is_same_v<const char*, T>) {
// do something here
}
}
Örnek - iki metodun aynı imzaya sahip olup olmadığıElimizde şöyle bir kod olsun.
int funA (int a, int b);
int funB (int a, int b);
Şöyle yaparız.std::is_same_v<decltype(funA), decltype(funB)> // true
Hiç yorum yok:
Yorum Gönder