Pytania oznaczone «types»

38
Dlaczego remove_reference nie działa na funkcje?

Wpadłem na coś dziwnego podczas wykonywania metaprogramowania szablonu innego dnia. Zasadniczo sprowadza się do tego twierdzenia, że ​​nie jest (jak się spodziewałbym) przemijanie. static_assert(std::is_same_v<void(), std::remove_reference_t<void()&>>); Na początku myślałem, że...

19
liczba całkowita -> reguły konwersji wskaźnika

Rozważ następujący kod. void f(double p) {} void f(double* p) {} int main() { f(1-1); return 0; } MSVC 2017 tego nie kompiluje. Oznacza to, że istnieje niejednoznaczne przeciążone wywołanie, ponieważ 1-1jest takie samo, jak 0i dlatego może zostać przekształcone w double*. Inne sztuczki, takie...

12
Co to jest nieznana nullability w C # 8?

W C # 8.0 możemy mieć typy zerowalne. Dokumenty stwierdzają, że istnieją 4 rodzaje zerowalności. Pierwsze 3 są dość jasne, ale nie rozumiem sensu „nieznane”. Dokumenty mówią, że używa się go z rodzajami, ale kiedy próbuję wywołać metodę na nieograniczonej zmiennej typu T w rodzajach, to po prostu...