Pytania oznaczone «sfinae»

263
Jak mogę dodać odbicie do aplikacji C ++?

Chciałbym mieć możliwość introspekcji klasy C ++ pod kątem jej nazwy, zawartości (tj. Członków i ich typów) itp. Mówię tutaj o natywnym C ++, nie zarządzanym C ++, który ma odbicie. Zdaję sobie sprawę, że C ++ dostarcza pewne ograniczone informacje za pomocą RTTI. Jakie dodatkowe biblioteki (lub...

149
Jak działa „void_t”

Oglądałem wykład Waltera Browna na Cppcon14 o nowoczesnym programowaniu szablonów ( część I , część II ), gdzie przedstawił swoją void_ttechnikę SFINAE. Przykład: biorąc pod uwagę prosty szablon zmiennej, który ocenia, voidczy wszystkie argumenty szablonu są poprawnie sformułowane: template<...

82
Jak wdrażana jest funkcja std :: is_function?

Jak wygląda implementacja std::is_function? template<class T> struct is_function : std::integral_constant< bool, !std::is_const<const T>::value && !std::is_reference<T>::value > {}; (z referencji CPP ) Wydaje mi się, intże w tej definicji byłaby funkcja. czego...

40
Podejścia do działania SFINAE w C ++

Używam mocno funkcji SFINAE w projekcie i nie jestem pewien, czy istnieją jakieś różnice między następującymi dwoma podejściami (innymi niż styl): #include <cstdlib> #include <type_traits> #include <iostream> template <class T, class = std::enable_if_t<std::is_same_v<T,...