Domande taggate «c++17»

C ++ 17 è il nome dello standard C ++ approvato nel 2017. Si basa sul precedente standard C ++ 14, migliorando il linguaggio principale e la libreria standard e aggiungendo alcune nuove funzionalità linguistiche.


4
Conversione implicita non consentita al ritorno
#include <optional> bool f() { std::optional<int> opt; return opt; } Non compilare: 'return': cannot convert from 'std::optional<int>' to 'bool' Consultazione di riferimento Avrei pensato di trovare una spiegazione, ma l'ho letto come dovrebbe essere ok. Le conversioni implicite vengono eseguite ogni volta che nel contesto viene utilizzata un'espressione di un …

3
Dividi un determinato tipo std :: variant in base a un determinato criterio
Come da un determinato tipo di variante using V = std::variant<bool, char, std::string, int, float, double, std::vector<int>>; dichiarare due tipi di variante using V1 = std::variant<bool, char, int, float, double>; using V2 = std::variant<std::string, std::vector<int>>; da dove V1include tutti i tipi aritmetici Ve V2comprende tutti i tipi non aritmetici V? …
20 c++  c++17  std-variant 


4
È valido usare std :: transform con std :: back_inserter?
Cppreference ha questo codice di esempio per std::transform: std::vector<std::size_t> ordinals; std::transform(s.begin(), s.end(), std::back_inserter(ordinals), [](unsigned char c) -> std::size_t { return c; }); Ma dice anche: std::transformnon garantisce l'applicazione in ordine di unary_opo binary_op. Per applicare una funzione a una sequenza in ordine o per applicare una funzione che modifica gli …


4
Enum continuo C ++ 11
C'è un modo per verificare in C ++ 11 se un enum è continuo ? È pienamente valido fornire valori enum che non lo sono. C'è forse una caratteristica come una caratteristica del tipo in C ++ 14, C ++ 17 o forse C ++ 20 per verificare se l'enum …
17 c++  c++11  c++14  c++17  c++20 


1
std :: pair <auto, auto> tipo di ritorno
Stavo giocando con autodentro std::pair. Nel codice seguente, la funzione fdovrebbe restituire un std::pairtipo che dipende da un parametro template. Un esempio funzionante: ESEMPIO 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else if constexpr (S == 2) return …



1
È un bug in std :: gcd?
Mi sono imbattuto in questo comportamento std::gcdche ho trovato inaspettato: #include &lt;iostream&gt; #include &lt;numeric&gt; int main() { int a = -120; unsigned b = 10; //both a and b are representable in type C using C = std::common_type&lt;decltype(a), decltype(b)&gt;::type; C ca = std::abs(a); C cb = b; std::cout &lt;&lt; a …



1
Perché std :: swap non funziona su elementi <bool> vettoriali in Clang / Win?
Ho un codice come questo: #include &lt;vector&gt; #include &lt;utility&gt; int main() { std::vector&lt;bool&gt; vb{true, false}; std::swap(vb[0], vb[1]); } Argomenti sulla sanità mentale a vector&lt;bool&gt;parte, questo funzionava perfettamente su: Clang per Mac Visual Studio per Windows GCC per Linux Quindi ho provato a costruirlo con Clang su Windows e ho ricevuto …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.