Domande taggate «c++»

C ++ è un linguaggio di programmazione generico. È stato originariamente progettato come estensione di C e ha una sintassi simile, ma ora è un linguaggio completamente diverso. Utilizzare questo tag per domande sul codice (da compilare) compilato con un compilatore C ++. Utilizzare un tag specifico della versione per domande relative a una revisione standard specifica [C ++ 11], [C ++ 14], [C ++ 17] o [C ++ 20], ecc.

1
Lo span può essere constexpr?
Tutti i costruttori di std :: span sono dichiarati constexpr, tuttavia non riesco a farli funzionare in un contesto constexpr. Il non commento di una qualsiasi delle seguenti istruzioni comporterà un errore di compilazione. #include <array> #include <span> int main() { constexpr int carray[3] = { 0, 1, 2 }; …
11 c++  constexpr  c++20 



5
C ++ assegnazione ternaria di lambda
Qualche idea sul perché il seguente frammento non venga compilato? Si lamenta di un errore "errore: operandi a?: Tipi diversi" auto lambda1 = [&](T& arg) { ... }; auto lambda2 = [&](T& arg) { ... }; auto lambda = condition ? lambda1 : lambda2;

6
Gamma innocente basata su loop non funzionante
Non compila quanto segue : #include <iostream> int main() { int a{},b{},c{},d{}; for (auto& s : {a, b, c, d}) { s = 1; } std::cout << a << std::endl; return 0; } Provalo su godbolt L'errore del compilatore è: error: assignment of read-only reference 's' Ora nel mio caso …



1
È possibile passare un modello variabile come argomento del modello modello?
Il seguente esempio senza senso non viene compilato, ma esiste un altro modo per passare un modello variabile come argomento del modello modello? 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>(); …




3
Posso usare std :: transform sul posto con una politica di esecuzione parallela?
Se non sbaglio, posso far std::transformfunzionare sul posto usando lo stesso intervallo di un iteratore di input e output. Supponiamo di avere un std::vectoroggetto vec, quindi scrivo std::transform(vec.cbegin(),vec.cend(),vec.begin(),unary_op) usando un'operazione unaria adatta unary_op. Usando lo standard C ++ 17, vorrei eseguire la trasformazione in parallelo inserendone una std::execution::parcome primo argomento. …

7
La cancellazione () di un elemento in un vettore non funziona
Ho un vettore Devo eliminare gli ultimi 3 elementi in esso. Descritto questa logica. Il programma si arresta in modo anomalo. Quale potrebbe essere l'errore? vector<float>::iterator d = X.end(); for (size_t i = 1; i < 3; i++) { if (i == 1) X.erase(d); else X.erase(d - i); }
10 c++  vector 

1
Accedi a un membro in una struttura tramite una variabile in C ++
Ho uno struct con due membri, ad esempio: struct DataSet { int x; int y; }; ... e devo accedervi in ​​un metodo, ma solo uno alla volta, ad esempio: void foo(StructMember dsm) { // ("StructMember" does not exist) DataSet ds; ds.x = 4; ds.y = 6; std::cout << ds.dsm …
10 c++ 

2
Deduzione dei tipi di argomenti del modello di modello C ++
Ho un codice che trova e stampa le corrispondenze di uno schema mentre passa sopra il contenitore di stringhe. La stampa viene eseguita nella funzione foo che è modellata Il codice #include <iostream> #include <algorithm> #include <iterator> #include <vector> #include <string> #include <tuple> #include <utility> template<typename Iterator, template<typename> class Container> …

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.