C ++ 11 ha introdotto un modello di memoria standardizzato, ma cosa significa esattamente? E come influenzerà la programmazione C ++? Questo articolo (di Gavin Clarke che cita Herb Sutter ) afferma che, Il modello di memoria significa che il codice C ++ ora ha una libreria standardizzata da chiamare …
Considera l'asse principale e l'asse trasversale di un contenitore flessibile: Fonte: W3C Per allineare gli elementi flessibili lungo l'asse principale esiste una proprietà: justify-content Per allineare gli elementi flessibili lungo l'asse trasversale ci sono tre proprietà: align-content align-items align-self Nell'immagine sopra, l'asse principale è orizzontale e l'asse trasversale è verticale. …
Quanti puntatori ( *) sono consentiti in una singola variabile? Consideriamo il seguente esempio. int a = 10; int *p = &a; Allo stesso modo possiamo avere int **q = &p; int ***r = &q; e così via. Per esempio, int ****************zz;
Forse non vengo da questo pianeta, ma mi sembra che quanto segue dovrebbe essere un errore di sintassi: int a[] = {1,2,}; //extra comma in the end Ma non lo è. Sono stato sorpreso quando questo codice è stato compilato su Visual Studio, ma ho imparato a non fidarmi del …
È possibile che il codice C ++ sia conforme allo standard C ++ 03 e allo standard C ++ 11 , ma che facciano cose diverse a seconda di quale standard viene compilato?
Uno dei miei figli sta prendendo Java al liceo e lo ha fatto in uno dei suoi test: Quale dei seguenti è un identificatore valido in Java? un. 123java b. main c. java1234 d. {abce e. )whoot Ha risposto b e ha sbagliato. Ho esaminato la domanda e ho sostenuto …
Stavo leggendo sull'ordine delle violazioni della valutazione e mi danno un esempio che mi confonde. 1) Se un effetto collaterale su un oggetto scalare non è sequenziato rispetto ad un altro effetto collaterale sullo stesso oggetto scalare, il comportamento non è definito. // snip f(i = -1, i = -1); …
Attraverso un piccolo errore di battitura, ho trovato per caso questo costrutto: int main(void) { char foo = 'c'; switch(foo) { printf("Cant Touch This\n"); // This line is Unreachable case 'a': printf("A\n"); break; case 'b': printf("B\n"); break; case 'c': printf("C\n"); break; case 'd': printf("D\n"); break; } return 0; } Sembra …
Prima di iniziare a urlare comportamenti indefiniti, questo è elencato esplicitamente in N4659 (C ++ 17) i = i++ + 1; // the value of i is incremented Eppure in N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined Che cosa è cambiato? Da quello …
C'è un problema piuttosto sciocco con il numero pi in C e C ++. Per quanto ne so M_PIdefinito in math.hnon è richiesto da nessuno standard. I nuovi standard C ++ hanno introdotto un sacco di complicate matematiche nella libreria standard: funzioni iperboliche std::hermitee std::cyl_bessel_idiversi generatori di numeri casuali e …
La specifica C ++ definisce: l'esistenza dell'operatore "minore di" per i parametri booleani e, in tal caso, il risultato delle 4 permutazioni dei parametri? In altre parole, i risultati delle seguenti operazioni sono definiti dalla specifica? false < false false < true true < false true < true Nel mio …
Aggiornato, vedi sotto! Ho sentito e letto che C ++ 0x consente a un compilatore di stampare "Hello" per il seguente frammento #include <iostream> int main() { while(1) ; std::cout << "Hello" << std::endl; } Apparentemente ha qualcosa a che fare con i thread e le capacità di ottimizzazione. Mi …
Nel rispondere a un'altra domanda mi sono imbattuto in formulazioni leggermente diverse per std::vector::erase()e std::deque::erase(). Questo è ciò che dice C ++ 14 std::deque::erase( [deque.modifiers]/4-6, l'enfasi è mia): Effetti: ... Complessità: il numero di chiamate al distruttore è uguale al numero di elementi cancellati, ma il numero di chiamate all'operatore …
In base alla risposta accettata (e unica) per questa domanda StackTranslate.it , Definire il costruttore con MyTest() = default; inizializzerà invece zero l'oggetto. Allora perché fa quanto segue, #include <iostream> struct foo { foo() = default; int a; }; struct bar { bar(); int b; }; bar::bar() = default; int …
Passando attraverso alcune domande di intervista in C, ho trovato una domanda che diceva "Come trovare la dimensione di un array in C senza usare l'operatore sizeof?", Con la seguente soluzione. Funziona, ma non riesco a capire il perché. #include <stdio.h> int main() { int a[] = {100, 200, 300, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.