Örnek
Elimizde şöyle bir kod olsun. Bu kod belirtilen std::vector'ün kaç boyutlu(dimensin) olduğunu bulur.
Elimizde şöyle bir kod olsun. Bu kod belirtilen std::vector'ün kaç boyutlu(dimensin) olduğunu bulur.
#include <vector>
#include <type_traits>
template<typename T>
struct dimensions : std::integral_constant<std::size_t, 0> {};
template<typename T>
struct dimensions<std::vector<T>> : std::integral_constant<std::size_t,
1 + dimensions<T>::value> {};
template<typename T>
inline constexpr std::size_t dimensions_v = dimensions<T>::value; // (C++17)
Şöyle yaparız.dimensions<vector<vector<vector<int>>>>::value; // 3
// OR
dimensions_v<vector<vector<vector<int>>>>; // also 3 (C++17)
Hiç yorum yok:
Yorum Gönder