Articles of standard di

C’è un modo per accedere al contenitore sottostante degli adattatori per container STL?

Esiste un modo standard per accedere al contenitore sottostante di stack , queue , priority_queue ? Ho trovato un metodo chiamato: _Get_container() nell’implementazione VS2008 dello stack e della queue , ma nessuno per priority_queue ! Penso che non sia lo standard comunque. Inoltre, so che è una domanda sciocca! dove posso trovare la documentazione ufficiale […]

Perché i compilatori consentono ai letterali stringa di non essere const?

E dove sono esattamente i letterali nella memoria? (vedi esempi sotto) Non riesco a modificare un letterale, quindi dovrebbe essere un const char *, sebbene il compilatore mi permetta di usare un char * per questo, non ho avvertimenti nemmeno con la maggior parte dei flag del compilatore. Mentre un cast implicito di un tipo […]

Deviazione standard in LINQ

LINQ modella la funzione SQL aggregata STDDEV() (deviazione standard)? In caso contrario, qual è il modo più semplice / migliore per calcolarlo? Esempio: SELECT test_id, AVERAGE(result) avg, STDDEV(result) std FROM tests GROUP BY test_id

Perché uno spazio dei nomi senza nome è un’alternativa “superiore” allo statico?

La sezione $ 7.3.1.1 / 2 dello standard C ++ recita: L’uso della parola chiave static è deprecato quando si dichiarano oggetti in un ambito namespace; lo spazio dei nomi senza nome fornisce un’alternativa superiore. Non capisco perché uno spazio dei nomi senza nome sia considerato un’alternativa superiore? Qual è la logica? Conosco da molto […]

Il giusto comportamento non definito del turno se il conteggio è maggiore della larghezza del tipo?

Ho appena controllato lo standard C ++ . Sembra che il seguente codice NON debba essere un comportamento indefinito : unsigned int val = 0x0FFFFFFF; unsigned int res = val >> 34; // res should be 0 by C++ standard, // but GCC gives warning and res is 67108863 E dallo standard: Il valore di […]

Il compilatore è autorizzato a riciclare variabili di puntatore liberate?

È stato affermato che un compilatore è libero di riutilizzare la variabile puntatore per qualche altro scopo dopo il realloc essere liberato , quindi non si ha alcuna garanzia che abbia lo stesso valore di prima vale a dire void *p = malloc(42); uintptr_t address = (uintptr_t)p; free(p); // […] stuff unrelated to p or […]

std :: vector e memoria contigua di array multidimensionali

So che lo standard non obbliga std::vector ad allocare blocchi di memoria contigui, ma tutte le implementazioni obbediscono comunque a questo. Supponiamo che io desideri creare un vettore di un array statico multidimensionale. Considera 2 dimensioni per semplicità e un vettore di lunghezza N. Vorrei creare un vettore con N elementi di, diciamo, int[5] . […]

L’ordine di iterazione di std :: map è noto (e garantito dallo standard)?

Quello che voglio dire è che sappiamo che gli elementi di std::map sono ordinati in base alle chiavi. Quindi, diciamo che le chiavi sono numeri interi. Se eseguo l’iterazione da std::map::begin() a std::map::end() utilizzando un for , lo standard garantisce che eseguirò di conseguenza gli elementi con le chiavi, ordinati in ordine crescente? Esempio: std::map […]

Utilizzo di Unicode in codice sorgente C ++

Qual è la codifica standard del codice sorgente C ++? Lo standard C ++ parla anche di questo? Posso scrivere sorgenti C ++ in Unicode? Ad esempio, posso usare caratteri non ASCII come i caratteri cinesi nei commenti? In tal caso, è consentito Unicode completo o solo un sottoinsieme di Unicode? (ad es. quella prima […]

C / C ++ int vs int * (puntatori rispetto alla notazione array). Qual è la differenza?

So che gli array in C sono solo indicatori di dati memorizzati sequenzialmente. Ma quali differenze implicano la differenza nella notazione [] e *. Intendo in TUTTO il contesto di utilizzo ansible. Per esempio: char c[] = “test”; se fornite questa istruzione in un corpo di una funzione, allocherà la stringa su una pila mentre […]