Domande taggate «c++11»

Utilizzare questo tag per il codice che deve essere compilato come C ++ 11 (non utilizzando alcuna funzionalità introdotta in C ++ 14 o successive).

3
Decltype e parentesi C ++ - perché?
L'argomento è stato discusso in precedenza , ma questo non è un duplicato. Quando qualcuno chiede la differenza tra decltype(a)e decltype((a)), la solita risposta è - aè una variabile, (a)è un'espressione. Trovo questa risposta insoddisfacente. Innanzitutto, aè anche un'espressione. Le opzioni per un'espressione primaria includono, tra le altre cose: (espressione) …

6
È sicuro scambiare due diversi vettori in C ++, usando il metodo std :: vector :: swap?
Supponi di avere il seguente codice: #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> First{"example", "second" , "C++" , "Hello world" }; std::vector<std::string> Second{"Hello"}; First.swap(Second); for(auto a : Second) std::cout << a << "\n"; return 0; } Immagina che il vettore non lo sia std::string, eppure le classi: …
30 c++  c++11  vector  stdvector  swap 






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 

2
È un vecchio costruttore in stile C ++?
Qui un pezzo di codice C ++. In questo esempio, molti blocchi di codice sembrano chiamate del costruttore. Sfortunatamente, il codice di blocco n. 3 non lo è (puoi verificarlo usando https://godbolt.org/z/q3rsxn e https://cppinsights.io ). Penso che sia una vecchia notazione C ++ e potrebbe spiegare l'introduzione della nuova notazione …
17 c++  c++11 

3
Modelli variabili: spiega argomenti in gruppi
Ho una funzione che accetta due argomenti: template <typename T1, typename T2> void foo(T1 arg1, T2 arg2) { std::cout << arg1 << " + " << arg2 << '\n'; } E una variadica che dovrebbe inoltrare i suoi argomenti in coppia: template <typename... Args> void bar(Args&&... args) { static_assert(sizeof...(Args) % …


3
Ordinamento di un vettore in ordine decrescente in due intervalli
Di 'che ho un vettore di numeri interi: std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); Quindi lo ordino in ordine decrescente: sort(indices.begin(), indices.end(), [](int first, int second) -> bool{return indices[first] > indices[second];}) for (int i=0; i<15; i++) printf("%i\n", indices[i]); Questo produce quanto segue: 14 13 12 11 10 9 …

1
Posso inizializzare la lista std :: vector con un perfetto inoltro degli elementi?
Ho notato che l' inizializzazione dell'elenco aggregato di std :: vector esegue l' inizializzazione della copia quando lo spostamento è più applicabile. Allo stesso tempo, più emplace_backs fanno quello che voglio. Potrei solo trovare questa soluzione imperfetta di scrivere una funzione modello init_emplace_vector. Tuttavia, è ottimale solo per costruttori non …

3
Perché la dimensione di un array fa parte del suo tipo?
Durante la lettura del libro C ++ Primer, mi sono imbattuto in questa affermazione: "Il numero di elementi in un array fa parte del tipo di array". Quindi volevo scoprirlo usando il seguente codice: #include<iostream> int main() { char Array1[]{'H', 'e', 'l', 'p'}; char Array2[]{'P', 'l', 'e', 'a', 's', 'e'}; …
14 c++  arrays  c++11 


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.