Articles of standard

È legale ridefinire una parola chiave C ++?

In questo articolo del Guru della settimana, si dice: It is illegal to #define a reserved word. È vero? Non riesco a trovare nulla nella norma, e ho già visto i programmatori ridefinire il nuovo, per esempio.

Contenitori di librerie standard con parametri di modello opzionali aggiuntivi?

Dopo aver letto più volte l’affermazione negli articoli, desidero aggiungere questa domanda a Stackoverflow e chiedere alla comunità: il seguente codice è portatile? template<template class C> void f() { /* some code goes here … */ } int main() { f(); } L’implementazione che fornisce std::vector davvero la possibilità di avere parametri di template aggiuntivi […]

Può un’implementazione conforms #define NULL essere qualcosa di stravagante

Sto chiedendo a causa della discussione che è stata provocata in questa discussione . Cercare di avere una seria discussione avanti e indietro usando commenti sotto le risposte di altre persone non è facile o divertente. Quindi mi piacerebbe sentire cosa pensano i nostri esperti di C senza essere limitato a 500 caratteri alla volta. […]

Aggiungi barre di errore per mostrare la deviazione standard su un grafico in R

Per ciascun valore X ho calcolato il valore Y medio e la deviazione standard ( sd ) di ciascun valore Y. x = 1:5 y = c(1.1, 1.5, 2.9, 3.8, 5.2) sd = c(0.1, 0.3, 0.2, 0.2, 0.4) plot (x, y) Come posso utilizzare la deviazione standard per aggiungere barre di errore a ciascun punto […]

C ++ valarray vs. vector

Mi piacciono molto i vettori. Sono eleganti e veloci. Ma so che questa cosa chiamata valarray esiste. Perché dovrei usare un valarray invece di un vettore? So che i valarray hanno dello zucchero sintattico, ma a parte questo, quando sono utili?

Perché `i = ++ i + 1` comportamento non specificato?

Prendi in considerazione la seguente citazione ISO / IEC 14882: 2003 (E) dello standard C ++ (sezione 5, paragrafo 4): Tranne dove indicato, l’ordine di valutazione degli operandi dei singoli operatori e delle sottoespressioni delle singole espressioni e l’ordine in cui si verificano gli effetti collaterali non è specificato. 53) Tra il punto di sequenza […]

Perché C ++ emette numeri negativi quando si utilizza modulo?

Matematica : Se hai un’equazione come questa: x = 3 mod 7 x potrebbe essere … -4, 3, 10, 17, … o più in generale: x = 3 + k * 7 dove k può essere qualsiasi intero. Non so se un’operazione di modulo è definita per la matematica, ma il fattore ring lo è […]

Calcolo della lunghezza di una stringa C in fase di compilazione. È davvero un constexpr?

Sto cercando di calcolare la lunghezza di una stringa letterale al momento della compilazione. Per fare ciò sto usando il seguente codice: #include int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf(“%d %d”, length(“abcd”), length(“abcdefgh”)); } Tutto funziona come previsto, il programma stampa […]

Moduli C ++: perché sono stati rimossi da C ++ 0x? Torneranno più tardi?

Ho appena scoperto questa vecchia bozza di C ++ 0x sui moduli in C ++ 0x. L’idea era di uscire dall’attuale sistema .h / .cpp scrivendo solo i file .cpp che avrebbero poi generato i file del modulo durante la compilazione, che a loro volta sarebbero stati usati dagli altri file .cpp. Questa sembra davvero […]

Printf (“% x”, 1) invoca un comportamento non definito?

Secondo lo standard C (paragrafo 6.5.2.2 6) Se l’espressione che denota la funzione chiamata ha un tipo che non include un prototipo, le promozioni intere vengono eseguite su ogni argomento e gli argomenti che hanno il tipo float vengono promossi a doppio. Queste sono chiamate promozioni di argomenti predefinite. Se il numero di argomenti non […]