Pytania otagowane jako c++

C ++ jest językiem programowania ogólnego przeznaczenia. Został pierwotnie zaprojektowany jako rozszerzenie do C i ma podobną składnię, ale teraz jest to zupełnie inny język. Ten znacznik służy do pytań o kod (kompilowany) za pomocą kompilatora C ++. Użyj tagu specyficznego dla wersji w przypadku pytań związanych z określoną wersją standardową [C ++ 11], [C ++ 14], [C ++ 17] lub [C ++ 20] itp.

2
Czy mogę zwrócić tymczasowy potok do operacji zasięgu?
Załóżmy, że mam generate_my_rangeklasę, która modeluje range(w szczególności jest regular). Czy następujący kod jest poprawny: auto generate_my_range(int some_param) { auto my_transform_op = [](const auto& x){ return do_sth(x); }; return my_custom_rng_gen(some_param) | ranges::views::transform(my_transform_op); } auto cells = generate_my_range(10) | ranges::to<std::vector>; Czy jest my_custom_rng_gen(some_param)pobierany przez wartość (pierwszy) operator potoku, czy też mam …
9 c++  range-v3 

1
Jak uzyskać liczbę elementów w std :: array <T, N> bez konieczności tworzenia instancji?
Jest std::array&lt;T, N&gt;::size(), ale jest niestatyczna, więc wymaga wystąpienia std::array. Czy istnieje sposób, aby uzyskać wartość powraca (który jest Nz std::array&lt;T, N&gt;) bez konieczności konstruowania instancji tablicy? Do normalnej tablicy mógłbym użyćsizeof , ale nie widzę żadnej gwarancji, że sizeof(std::array&lt;T, N&gt;) == N * sizeof(T)to prawda.
9 c++  arrays  c++11  sizeof 

2
Jakie są przestrzenie nazw i jakie są zasady?
Uwaga: to pytanie dotyczy name space, a nie namespace. Standard C ++ zawiera kilka odniesień name space, ale nie widzę jego definicji. Według standardów etykiety i makra znajdują się w różnych przestrzeniach nazw. Wszystkie pozostałe odniesienia name spaceznajdują się w sekcji kompatybilności z C / C ++, takie jak ten …
9 c++  namespaces 

1
Czy to UB, aby wznowić coroutine funkcji składowej obiektu, którego żywotność się zakończyła?
To pytanie wynika z tego komentarza: Lambda dożywotniego wyjaśnienia dla korupcji w C ++ 20 w odniesieniu do tego przykładu: auto foo() -&gt; folly::coro::Task&lt;int&gt; { auto task = []() -&gt; folly::coro::Task&lt;int&gt; { co_return 1; }(); return task; } Pytanie brzmi więc, czy wykonanie zwróconej przez niego coroutine foospowoduje UB. „Wywołanie” …

1
Nieokreślone niejawne tworzenie obiektu
Ponieważ P0593 Domniemane tworzenie obiektów do manipulacji obiektami na niskim poziomie zostało zaakceptowane, obiekty mogą być teraz tworzone niejawnie w C ++ 20. W szczególności sformułowanie wprowadzone we wniosku pozwala niektórym operacjom (np. std::malloc) Automatycznie tworzyć i uruchamiać okres istnienia obiektów określonych typów, tak zwanych typów niejawnych , jeśli wprowadzenie …



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.