Pytania oznaczone «c++14»

166
Przechwytywanie lambda jako odniesienie do stałej?

Czy możliwe jest przechwycenie przez odwołanie do stałej w wyrażeniu lambda? Chcę, aby zadanie zaznaczone poniżej zakończyło się niepowodzeniem, na przykład: #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() {...

151
Jakie są zastosowania decltype (auto)?

На этот вопрос есть ответы на Stack Overflow на русском : Конструкция decltype (auto) W języku c ++ 14 wprowadzono decltype(auto)idiom. Zwykle służy do zezwalania autodeklaracjom na używanie decltypereguł dla danego wyrażenia . Szukając przykładów „dobrego” użycia...

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

114
Jak działa generyczna lambda w C ++ 14?

Jak działa generyczna lambda ( autosłowo kluczowe jako typ argumentu) w standardzie C ++ 14? Czy jest oparty na szablonach C ++, w których dla każdego innego typu argumentu kompilator generuje nową funkcję o tej samej treści, ale zastępowanych typach (polimorfizm w czasie kompilacji), czy jest...

106
Co to są przezroczyste komparatory?

W C ++ 14 wydaje się, że kontenery asocjacyjne zmieniły się z C ++ 11 - [Associative.reqmts] / 13 mówi: Szablony funkcji składowej find, count, lower_bound, upper_bound, i equal_rangenie powinien uczestniczyć w rozdzielczości przeciążenia chyba typ Compare::is_transparentistnieje. Jaki jest...

103
Czy C ++ 14 dodaje nowe słowa kluczowe do C ++?

Komitet Standardów C ++ ma tendencję do unikania dodawania nowych słów kluczowych do języka, jednak w przypadku C ++ 11 tak nie było. Kilka przykładów: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas Czy w C ++ 14 wprowadzono jakieś nowe słowa...

90
Dlaczego lambda ma rozmiar 1 bajtu?

Pracuję z pamięcią niektórych lambd w C ++, ale trochę mnie dziwi ich rozmiar. Oto mój kod testowy: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl;...

89
Co to jest const void?

Opis std::is_voidstwierdza, że: Zapewnia stałą składową, która jest równa true, jeśli T jest typem void, const void, volatile void lub const volatile void. Więc co mogłoby być const void, lub volatile void? Ta odpowiedź stwierdza, że const voidzwracany typ byłby nieprawidłowy (jednak...

89
Jaki jest cel używania związku z tylko jednym członkiem?

Kiedy czytałem kod źródłowy seastar , zauważyłem, że istnieje zwana struktura związkowa, tx_sidektóra ma tylko jednego członka. Czy to jakiś hack, aby poradzić sobie z pewnym problemem? Do Twojej wiadomości wklejam tx_sideponiższą strukturę: union tx_side { tx_side() {} ~tx_side() {} void...