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
È ancora sicuro eliminare nullptr in c ++ 0x?
In c++03esso è abbastanza chiaro che l'eliminazione di un puntatore nullo non ha alcun effetto. Infatti, è esplicitamente affermato in §5.3.5/2quanto: In entrambe le alternative, se il valore dell'operando di cancellazione è il puntatore nullo, l'operazione non ha effetto. Tuttavia, nell'attuale bozza di c++0xquesta frase sembra mancare. Nel resto della …

4
Come funziona std :: flush?
Qualcuno può spiegare (preferibilmente usando un inglese semplice) come std::flushfunziona? Che cos'è? Quando scaricheresti un flusso? Perché è importante? Grazie.
85 c++  stream 


11
X + = a è più veloce di x = x + a?
Stavo leggendo "The C ++ Programming Language" di Stroustrup, dove dice che tra due modi per aggiungere qualcosa a una variabile x = x + a; e x += a; Preferisce +=perché molto probabilmente è meglio implementato. Penso che voglia dire che funziona anche più velocemente. Ma lo è davvero? …


10
Esiste un modo elegante e veloce per verificare che 1 bit in un numero intero si trovi in ​​una regione contigua?
Devo verificare se le posizioni (da 0 a 31 per un numero intero a 32 bit) con valore di bit 1 formano una regione contigua. Per esempio: 00111111000000000000000000000000 is contiguous 00111111000000000000000011000000 is not contiguous Voglio che questo test, cioè qualche funzione has_contiguous_one_bits(int), sia portatile. Un modo ovvio è quello di …

4
lungo lungo in C / C ++
Sto provando questo codice sul compilatore C ++ di GNU e non sono in grado di comprenderne il comportamento: #include <stdio.h>; int main() { int num1 = 1000000000; long num2 = 1000000000; long long num3; //num3 = 100000000000; long long num4 = ~0; printf("%u %u %u", sizeof(num1), sizeof(num2), sizeof(num3)); printf("%d …


6
Perché ho bisogno di std :: get_temporary_buffer?
Per quale scopo dovrei usare std::get_temporary_buffer? Standard dice quanto segue: Ottiene un puntatore alla memoria sufficiente per memorizzare fino an oggetti T adiacenti. Ho pensato che il buffer verrà allocato sullo stack, ma non è vero. Secondo lo standard C ++ questo buffer non è in realtà temporaneo. Quali vantaggi …



4
Come definire diversi tipi per la stessa classe in C ++
Vorrei avere diversi tipi che condividono la stessa implementazione ma sono ancora di tipo diverso in C ++. Per illustrare la mia domanda con un semplice esempio, vorrei avere una classe per mele, arance e banane, tutte con le stesse operazioni e la stessa implementazione. Vorrei che avessero tipi diversi …
84 c++  types 

5
Enum vs Enum fortemente tipizzato
Sono un principiante nella programmazione C ++. Oggi mi imbatto in un nuovo argomento: fortemente digitato enum. Ho studiato un po ', ma fino ad ora non sono in grado di scoprire perché ne abbiamo bisogno ea che cosa serve? Ad esempio se abbiamo: enum xyz{a, b, c}; /*a = …
84 c++  c++11  enums 

2
std :: dynarray vs std :: vector
C ++ 14 presenta std::dynarray: std :: dynarray è un contenitore di sequenze che incapsula array con una dimensione che è fissata alla costruzione e non cambia per tutta la durata dell'oggetto. std::dynarraydeve essere allocato in fase di esecuzione come lo stesso std::vector. Quindi quali sono i vantaggi e l'utilizzo …
84 c++  stdvector 

1
Un operatore cast può essere esplicito?
Quando si tratta di costruttori, l'aggiunta della parola chiave explicitimpedisce a un compilatore entusiasta di creare un oggetto quando non era la prima intenzione del programmatore. Tale meccanismo è disponibile anche per gli operatori di casting? struct Foo { operator std::string() const; }; Qui, ad esempio, mi piacerebbe poter eseguire …

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.