Ingegneria software

Domande e risposte per professionisti, accademici e studenti che lavorano nel ciclo di vita dello sviluppo di sistemi



1
Come è nato std :: vector <bool>?
Oggi, praticamente tutti gli sviluppatori C ++ concordano sul fatto che è std::vector&lt;bool&gt;stato un errore poiché non è ingannevolmente un contenitore e i suoi casi d'uso si sovrappongono in gran parte a quelli di std::bitsetcomunque. Come è stato votato nello standard? All'epoca era controverso? Quali sono stati i principali argomenti …
15 c++  history  stl 








8
Devo registrare errori su costruttori che generano eccezioni?
Stavo costruendo un'applicazione da alcuni mesi e ho realizzato uno schema che è emerso: logger.error(ERROR_MSG); throw new Exception(ERROR_MSG); Oppure, durante la cattura: try { // ...block that can throw something } catch (Exception e) { logger.error(ERROR_MSG, e); throw new MyException(ERROR_MSG, e); } Quindi, ogni volta che lanciavo o prendevo un'eccezione, …

2
Si dovrebbe derivare / ereditare da std :: exception?
Durante la progettazione della mia prima libreria C ++ "seria", mi chiedo: È buono lo stile da cui derivano le eccezioni std::exceptioned i suoi discendenti ?! Anche dopo aver letto Progettazione di classi di eccezione Qual è un "buon numero" di eccezioni da implementare per la mia biblioteca? Non ne …
15 c++  exceptions 

4
API e programmazione funzionale
Dalla mia (ammessa limitata) esposizione a linguaggi di programmazione funzionale, come Clojure, sembra che l'incapsulamento dei dati abbia un ruolo meno importante. Di solito vari tipi nativi come mappe o set sono la valuta preferita per rappresentare i dati, rispetto agli oggetti. Inoltre, tali dati sono generalmente immutabili. Ad esempio, …

4
Gestione dei parametri nell'applicazione OOP
Sto scrivendo un'applicazione OOP di medie dimensioni in C ++ come un modo per praticare i principi OOP. Ho diverse classi nel mio progetto e alcune devono accedere ai parametri di configurazione di runtime. Questi parametri vengono letti da diverse fonti durante l'avvio dell'applicazione. Alcuni vengono letti da un file …


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.