Pytania oznaczone «templates»

187
Domyślne argumenty szablonu dla szablonów funkcji

Dlaczego domyślne argumenty szablonów są dozwolone tylko w szablonach klas? Dlaczego nie możemy zdefiniować domyślnego typu w szablonie funkcji członka? Na przykład: struct mycclass { template<class T=int> void mymember(T* vec) { // ... } }; Zamiast tego C ++ wymusza, aby domyślne...

186
Renderowanie zmiennej szablonu jako HTML

Korzystam z interfejsu „wiadomości”, aby przekazywać wiadomości do użytkownika w następujący sposób: request.user.message_set.create(message=message) Chciałbym dołączyć html do mojej {{ message }}zmiennej i renderować ją bez uciekania od znaczników w

161
std :: function vs template

Dzięki C ++ 11 otrzymaliśmy std::functionrodzinę wrapperów funktorów. Niestety ciągle słyszę tylko złe rzeczy o tych nowych dodatkach. Najbardziej popularne jest to, że są strasznie powolne. Przetestowałem to i naprawdę są do niczego w porównaniu z szablonami. #include <iostream> #include...

158
Szablony C ++, które akceptują tylko określone typy

W Javie możesz zdefiniować klasę ogólną, która akceptuje tylko typy rozszerzające wybraną przez Ciebie klasę, np .: public class ObservableList<T extends List> { ... } Odbywa się to za pomocą słowa kluczowego „extends”. Czy istnieje jakiś prosty odpowiednik tego słowa kluczowego w C ++?...

151
Domyślne argumenty szablonu

Jeśli wolno mi wykonywać następujące czynności: template <typename T = int> class Foo{ }; Dlaczego w zasadzie nie wolno mi wykonywać następujących czynności? Foo me; Ale muszę określić co następuje: Foo<int> me; C ++ 11 wprowadził domyślne argumenty szablonów i obecnie są one...

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<...