Articles of standard

Cosa potrebbe “perdere” C / C ++ se definiscono un ABI standard?

Il titolo dice tutto. Sto parlando specificamente di C / C ++, perché entrambi considerano questo come “problema di implementazione”. Penso che definire un’interfaccia standard possa facilitare la costruzione di un sistema modulare su di esso e molte altre cose positive. Cosa potrebbe “perdere” C / C ++ se definiscono un ABI standard?

Un punto deve essere sfuggito in una class di caratteri (parentesi quadre) di un’espressione regolare?

Un punto . in un’espressione regolare corrisponde a qualsiasi singolo carattere. Affinché la regex corrisponda a un punto, il punto deve essere sfuggito: \. Mi è stato fatto notare che all’interno di parentesi quadre [] non è necessario sfuggire un punto. Ad esempio, l’espressione: [.]{3} corrisponde a … stringa. Non è vero? E se è […]

Elenco delle piattaforms supportate dallo standard C.

Qualcuno sa di qualsiasi piattaforma supportata dallo standard C, per la quale esiste ancora un lavoro di sviluppo attivo, ma che sono: complemento non 2 o la larghezza intera non è di 32 bit o 64 bit o alcuni tipi interi hanno bit di riempimento o se hai lavorato su un complemento a 2, il […]

Auto_ptr è deprecato?

Auto_ptr sarà deprecato nello standard C ++ in arrivo? Dovrebbe essere usato unique_ptr per il trasferimento della proprietà invece di shared_ptr? Se unique_ptr non è nello standard, allora devo usare invece shared_ptr?

Qual è lo scopo di consentire nomi di proprietà duplicati?

Sto leggendo il riferimento javascript MDN , di conseguenza il seguente codice non restituisce più false : function haveES6DuplicatePropertySemantics(){ “use strict”; try { ({ prop: 1, prop: 2 }); // No error thrown, duplicate property names allowed in strict mode return true; } catch (e) { // Error thrown, duplicates prohibited in strict mode return […]

è size_t sempre senza segno?

Come titolo: è size_t sempre senza segno, cioè per size_t x , è x sempre >= 0 ?

Cosa sono le dichiarazioni e i dichiaratori e in che modo i loro tipi sono interpretati dallo standard?

Come esattamente lo standard definisce che, ad esempio, float (*(*(&e)[10])())[5] dichiara una variabile di tipo “riferimento a matrice di 10 puntatore a function of () che restituisce puntatore all’array di 5 float “? Ispirato alla discussione con @DanNissenbaum

Perché la sizeof (bool) non è definita come uno, dallo Standard stesso?

La dimensione di char , char signed char e unsigned char è definita come 1 byte, secondo lo stesso standard C ++. Mi chiedo perché non ha definito anche sizeof(bool) ? C ++ 03 Standard $ 5.3.3 / 1 dice, sizeof (char), sizeof (char firmato) e sizeof (unsigned char) sono 1; il risultato di sizeof […]

Puntatore di base alla matrice di oggetti derivati

A seguito di una domanda posta qui oggi e una moltitudine di domande a tema similare, sono qui per chiedere questo problema dal punto di vista di Stadard. struct Base { int member; }; struct Derived : Base { int another_member; }; int main() { Base* p = new Derived[10]; // (1) p[1].member = 42; […]

È un comportamento non specificato per confrontare i puntatori con matrici diverse per l’uguaglianza?

Gli operatori di uguaglianza hanno le restrizioni semantiche degli operatori relazionali sui puntatori: Gli operatori == (uguale a) e! = (Non uguale a) hanno le stesse restrizioni semantiche, le conversioni e il tipo di risultato degli operatori relazionali ad eccezione del loro risultato di precedenza e valore di verità inferiore. [C ++ 03 §5.10p2] E […]