Secondo quanto ho letto, il compilatore non è obbligato a sostituire la chiamata di funzione di una funzione inline con il suo corpo, ma lo farà se può. Questo mi ha fatto pensare: perché abbiamo la parola in linea se è così? Perché non rendere tutte le funzioni incorporate per …
Si dice che le prime implementazioni in C ++ abbiano avuto un operatore punto per l'accesso allo spazio dei nomi. Si ritiene che il punto sia più conveniente del moderno operatore a doppio punto. Qual è stato il ragionamento alla base dell'introduzione del doppio colon?
Sto discutendo un po 'con il mio amico se queste due pratiche sono semplicemente due facce della stessa medaglia o se si è veramente migliori. Abbiamo una funzione che accetta un parametro, ne compila un membro e quindi lo restituisce: Item predictPrice(Item item) Credo che, poiché funziona sullo stesso oggetto …
Sto cercando di capire come vengono costruiti i frame di stack e quali variabili (parametri) vengono spinti per impilare in quale ordine? Alcuni risultati della ricerca hanno mostrato che il compilatore C / C ++ decide in base alle operazioni eseguite all'interno di una funzione. Ad esempio, se la funzione …
Ho una programmazione orientata agli oggetti con corso c ++ questo semestre al college e stavamo imparando le funzioni degli amici. Istintivamente non mi piacciono per la loro capacità di eludere la sicurezza offerta dall'incapsulamento e dal nascondimento dei dati, ho letto alcuni articoli su Internet e alcune persone hanno …
Non ho mai capito perché i compilatori C e C ++ provano a recuperare dagli errori e continuano ad analizzare. Quasi sempre, il primo errore genera un flusso di errori fasulli che scompare non appena viene risolto il primo. Dopo diversi anni di esperienza, ho semplicemente smesso di cercare qualsiasi …
Capisco un "linguaggio" come un'operazione o modello comune che in una lingua particolare non è semplificata dalla sintassi del linguaggio principale, come l'incremento di interi: i = i + 1; In C ++, questo linguaggio è semplificato da un operatore: ++i; Tuttavia, quando qualcuno usa il termine "idiomatico", non sono …
Perché abbiamo bisogno di includere sia l' .he .cppfile, mentre siamo in grado di farlo funzionare esclusivamente includendo il .cppfile di? Ad esempio: creazione di file.hdichiarazioni di contenimento, quindi creazione di file.cppdefinizioni di contenimento e includendo entrambi in main.cpp. In alternativa: creare una file.cppdichiarazione / definizioni contenenti (senza prototipi) includendola …
Allo stato attuale, questa domanda non è adatta al nostro formato di domande e risposte. Ci aspettiamo che le risposte siano supportate da fatti, riferimenti o competenze, ma questa domanda probabilmente solleciterà dibattiti, argomenti, sondaggi o discussioni estese. Se ritieni che questa domanda possa essere migliorata e possibilmente riaperta, visita …
Perché i libri dicono "il compilatore alloca lo spazio per le variabili in memoria". Non è l'eseguibile che lo fa? Voglio dire, ad esempio, se scrivo il seguente programma, #include <iostream> using namespace std; int main() { int foo; return 0; } e compilarlo e ottenere un eseguibile (lascia che …
Sto vedendo molte classi istanziabili nel mondo C ++ e Java che non hanno alcuno stato. Non riesco davvero a capire perché le persone lo facciano, potrebbero semplicemente usare uno spazio dei nomi con funzioni gratuite in C ++ o una classe con un costruttore privato e solo metodi statici …
In c ++, l'operatore * può essere sovraccaricato, ad esempio con un iteratore, ma l'operatore freccia (->) (. *) Non funziona con le classi che sovraccaricano l'operatore *. Immagino che il preprocessore possa facilmente sostituire tutte le istanze di -> con (* left) .right, e ciò renderebbe gli iteratori più …
Mi piace molto la natura semplice e trasparente di C: quando scrivo il codice C mi sento libero da "astrazioni che perdono" e quasi sempre riesco a fare un'ipotesi accorta sull'assemblaggio che sto producendo. Mi piace anche la sintassi semplice e familiare per C. Tuttavia, C non ha questi doodle …
Ho visto un'intervista con Herb Sutter su Channel9 e alla fine del video ha menzionato che la sintassi da sinistra a destra sarebbe in cima alla sua lista dei desideri per un futuro standard C ++ (anche se riconosce che modificando C ++ in quel modo sarebbe praticamente una bestia …
Più imparo sui diversi paradigmi di programmazione, come la programmazione funzionale, più comincio a mettere in discussione la saggezza dei concetti di OOP come eredità e polimorfismo. Ho imparato a conoscere l'eredità e il polimorfismo a scuola, e all'epoca il polimorfismo sembrava un modo meraviglioso di scrivere un codice generico …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.