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.

2
int numeral -> regole di conversione del puntatore
Considera il seguente codice. void f(double p) {} void f(double* p) {} int main() { f(1-1); return 0; } MSVC 2017 non lo compila. Immagina che ci sia un'ambigua chiamata sovraccaricata, così come 1-1è 0e può essere convertita in double*. Anche altri trucchi, come 0x0, 0Lo static_cast<int>(0), non funzionano. Anche …
19 c++  visual-c++  types 

3
Comportamento indefinito nel vettore del cast di vettori
Perché questo codice scrive un numero indefinito di numeri interi apparentemente non inizializzati? #include <iostream> #include <vector> using namespace std; int main() { for (int i : vector<vector<int>>{{77, 777, 7777}}[0]) cout << i << ' '; } Mi aspettavo che l'output fosse 77 777 7777. Questo codice dovrebbe essere indefinito?
19 c++ 

3
c ++ Discussioni all'interno per loop che stampano valori errati
Sto cercando di capire il multi-threading in c ++, ma sono bloccato in questo problema: se lancio i thread in un ciclo for, stampano valori errati. Questo è il codice: #include <iostream> #include <list> #include <thread> void print_id(int id){ printf("Hello from thread %d\n", id); } int main() { int n=5; …




2
Perché il concetto same_as verifica il tipo di uguaglianza due volte?
Osservando la possibile implementazione del concetto same_as su https://en.cppreference.com/w/cpp/concepts/same_as ho notato che sta accadendo qualcosa di strano. namespace detail { template< class T, class U > concept SameHelper = std::is_same_v<T, U>; } template< class T, class U > concept same_as = detail::SameHelper<T, U> && detail::SameHelper<U, T>; La prima domanda è: …
19 c++  c++20  concept 


5
Come risolvere il costante const ref
Il seguente breve programma #include <vector> #include <iostream> std::vector<int> someNums() { return {3, 5, 7, 11}; } class Woop { public: Woop(const std::vector<int>& nums) : numbers(nums) {} void report() { for (int i : numbers) std::cout << i << ' '; std::cout << '\n'; } private: const std::vector<int>& numbers; }; …
18 c++ 

3
I valori di chiusura lambda possono essere passati come parametri di riferimento del valore
Ho scoperto che lvaluele chiusure lambda possono sempre essere passate come rvalueparametri di funzione. Vedi la seguente semplice dimostrazione. #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 …


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 




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.