Pytania otagowane jako c++14

C ++ 14 to nazwa standardu C ++, zatwierdzonego w 2014 roku. Opiera się on na poprzednim standardzie C ++ 11, ulepszając język podstawowy i bibliotekę standardową oraz dodając kilka funkcji.


6
błąd :: make_unique nie jest członkiem „std”
Próbuję skompilować następujący program puli wątków opublikowany w przeglądzie kodu, aby go przetestować. /codereview/55100/platform-independant-thread-pool-v4 Ale otrzymuję błędy threadpool.hpp: In member function ‘std::future<decltype (task((forward<Args>)(args)...))> threadpool::enqueue_task(Func&&, Args&& ...)’: threadpool.hpp:94:28: error: ‘make_unique’ was not declared in this scope auto package_ptr = make_unique<task_package_impl<R, decltype(bound_task)>> (std::move(bound_task), std::move(promise)); ^ threadpool.hpp:94:81: error: expected primary-expression before ‘>’ token …

5
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; std::cout << sizeof(f) << std::endl; } Możesz go …
90 c++  c++11  lambda  c++14  sizeof 

2
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 init() { new (&a) aa; } struct aa { …
89 c++  c++14  unions 

3
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 kompiluje się na VC ++ 2015) const void …
89 c++  c++11  c++14 

3
Domyślna, wartość i zerowy bałagan inicjalizacji
Jestem bardzo zdezorientowany co do inicjalizacji wartości i domyślnej oraz zerowej. a zwłaszcza wtedy, gdy zaczynają stosować różne standardy C ++ 03 i C ++ 11 (i C ++ 14 ). Cytuję i próbuję rozszerzyć naprawdę dobrą odpowiedź Value- / Default- / Zero- Init C ++ 98 i C ++ …
88 c++  c++11  c++14  c++03  c++98 


1
Jak emulować EBO podczas korzystania z surowego magazynu?
Mam komponent, którego używam podczas implementowania typów ogólnych niskiego poziomu, które przechowują obiekt dowolnego typu (może być typem klasy lub nie), który może być pusty, aby skorzystać z pustej optymalizacji podstawowej : template <typename T, unsigned Tag = 0, typename = void> class ebo_storage { T item; public: constexpr ebo_storage() …
79 c++  c++14 

5
Jak uzyskać adres funkcji C ++ lambda w samej lambda?
Próbuję dowiedzieć się, jak uzyskać w sobie adres funkcji lambda. Oto przykładowy kod: []() { std::cout << "Address of this lambda function is => " << ???? }(); Wiem, że potrafię uchwycić lambda w zmiennej i wydrukować adres, ale chcę to zrobić w miejscu, gdy wykonuje się ta anonimowa funkcja. …
53 c++  c++11  lambda  c++14  c++17 


3
Wartości wartości zamknięcia lambda można przekazać jako parametry referencyjne wartości
Odkryłem, że lvaluezamknięcia lambda zawsze można przekazać jako rvalueparametry funkcji. Zobacz następującą prostą demonstrację. #include <iostream> #include <functional> using namespace std; void foo(std::function<void()>&& t) { } int main() { // Case 1: passing a `lvalue` closure auto fn1 = []{}; foo(fn1); // works // Case 2: passing a `lvalue` function …

4
Ciągłe wyliczanie C ++ 11
Czy istnieje sposób sprawdzenia w C ++ 11, czy wyliczenie jest ciągłe ? W pełni uzasadnione jest podawanie wartości wyliczeniowych, które nie są. Czy w C ++ 14, C ++ 17 jest jakaś cecha typu, a może C ++ 20, aby sprawdzić, czy wyliczanie jest ciągłe? Należy tego użyć w …
17 c++  c++11  c++14  c++17  c++20 

3
Wykonaj funkcję w szablonie funkcji tylko dla tych typów, dla których zdefiniowano funkcję
Mam szablon funkcji, który pobiera wiele różnych typów podczas wprowadzania. Spośród tych typów tylko jeden z nich ma getInt()funkcję. Dlatego chcę, aby kod uruchamiał funkcję tylko dla tego typu. Proszę zaproponować rozwiązanie. Dzięki #include <type_traits> #include <typeinfo> class X { public: int getInt(){ return 9; } }; class Y{ }; …


1
Czy szablon zmiennej można przekazać jako argument szablonu szablonu?
Poniższy bezsensowny przykład nie kompiluje się, ale czy istnieje jakiś inny sposób przekazania szablonu zmiennej jako argumentu szablonu szablonu? template<typename T> constexpr auto zero = T{0}; template<typename T, template<typename> auto VariableTemplate> constexpr auto add_one() { return VariableTemplate<T> + T{1}; } int main() { return add_one<int, zero>(); } Wypróbuj Eksplorator kompilatorów

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.