Pytania oznaczone «c++»

34
Przeciążenie funkcji za pomocą szablonów

Próbuję zdefiniować funkcję za pomocą szablonów i chcę, aby nazwa typu była int lub anEnum (określony wyliczenie, które zdefiniowałem). Próbowałem następujące, ale nie powiodło się: template <int | anEnum T> // or <int T, anEnum T> or <int, anEnum T> bool isFunction(const T...

33
Czy legalne jest przydzielanie nowego wskaźnika do działania?

Wskaźniki do funkcji nie są zwykłymi wskaźnikami danych, ponieważ nie mogą być przechowywane w pustym wskaźniku *. Niemniej jednak wydaje się, że mogę przechowywać kopię wskaźnika funkcji w pamięci dynamicznej (w gcc i clang), jak w poniższym kodzie. Czy taki kod jest zgodny ze standardem C ++, a...

32
Deklaracja C ++ i nawiasy - dlaczego?

Temat był wcześniej omawiany , ale to nie jest duplikat. Kiedy ktoś pyta o różnicę między decltype(a)i decltype((a)), jak zwykle odpowiedź brzmi - ajest to zmienna, (a)jest wyrazem. Uważam tę odpowiedź za niezadowalającą. Po pierwsze, ajest to także wyrażenie. Opcje wyrażenia podstawowego...

30
Jak nazywają się (…) w C i C ++?

Jednym z zastosowań ...jest do określenia zmiennej liczbie argumentów podmiotów w C i C ++. Jak się nazywa? Czy jest sklasyfikowany jako operator lub coś innego, gdy jest używany w ten sposób? Wszelkie inne szczegóły dotyczące ...? Edycja: Znam cel .... Pytam o jego nazwę i klasyfikację,...

28
Dlaczego mojej klasy nie da się zbudować domyślnie?

Mam te zajęcia: #include <type_traits> template <typename T> class A { public: static_assert(std::is_default_constructible_v<T>); }; struct B { struct C { int i = 0; }; A<C> a_m; }; int main() { A<B::C> a; } Podczas kompilacji a_mnie jest domyślnie...