Il POF per gli scolari. - pagina 14

 
Alexey Viktorov:

Un'altra domanda: qual è la differenza tra dichiarare una variabile, ottenere/creare un puntatore, creare un'istanza di un oggetto. Non è la differenza, ma in quali casi è meglio usare. Per esempio, è sufficiente dichiarare una variabile per aprire una posizione.

E in quali casi è meglio usare il puntatore, e in quali casi non possiamo fare a meno dell'istanza dell'oggetto.

Quali sono i pro e i contro di un metodo o di un altro?

Quindi, entra nelle viscere di questa classe, è disponibile nel formaggio. Non viene creato nulla di importante, solo un insieme di metodi.

 
Alexey Viktorov:

Quindi è per capire cosa scegliere che è stata posta la domanda. Non per un concorso di stregoni.

Non sono sobrio ora, nemmeno molto sobrio, ma farò un tentativo. Se l'affidabilità è la vostra prima vena, allora seguire il principio RAII è il vostro tutto, se possibile (dichiarate un oggetto, il compilatore lo ucciderà quando lascia l'area di visibilità). Se volete l'efficienza del codice, tutto sta guardando nella direzione dei puntatori. Quindi, sta ad ogni compito pensarci bene, non c'è una soluzione universale.
 
Alexey Viktorov:

Quindi è per capire cosa scegliere che è stata posta la domanda. Non per un concorso di stregoni.

Per come la vedo io.
Se un oggetto viene creato per stack, allora solo per quegli oggetti che non vivono a lungo e hanno bisogno della velocità per creare un oggetto, per esempio una classe per lavorare con le richieste.
Gli oggetti sull'heap dovrebbero essere creati per gli oggetti di lunga durata che non richiedono super velocità, o che sono importanti per evitare di perderli.
A volte, per esempio in VS, il compilatore non ti lascia scegliere uno stack e offre solo un heap, cioè ti dice cosa è meglio per questo oggetto.

 
Roman:

Per come la vedo io.
Se un oggetto viene creato per stack, allora solo per quegli oggetti che non vivono a lungo e hanno bisogno della velocità di creazione dell'oggetto, per esempio, una classe per lavorare con le richieste.
Gli oggetti sull'heap dovrebbero essere creati per gli oggetti di lunga durata che non richiedono super velocità, o che sono importanti per evitare di perderli.
A volte, per esempio in VS, il compilatore non ti lascia scegliere uno stack e offre solo un heap, cioè ti dice cosa è meglio per questo oggetto.

No. Confesso che anch'io mi sono sbagliato qualche tempo fa. Quando un oggetto viene creato sullo stack, viene comunque allocato nell'heap, solo il puntatore viene creato sullo stack. Semplicemente, quando si dichiara CObg obj, il suo distruttore è garantito per essere chiamato quando obj lascia lo scope.
 
Vladimir Simakov:
No, non lo so. Mi dispiace, anch'io mi sono sbagliato una volta. Quando un oggetto viene creato sullo stack, viene comunque allocato nell'heap, solo il puntatore viene creato sullo stack. È solo che quando si dichiara CObg obj, il suo distruttore è garantito per essere chiamato quando obj lascia la sua area di visibilità.

Forse sarà allocato nell'heap, non lo so ))
Ma molti sostengono che l'oggetto viene creato più velocemente sullo stack.
A quanto pare tutti si sbagliano su questo, non lo so ))

 
Roman:

Forse si alloca nel mucchio, non lo so ))
Ma molte persone sostengono che sullo stack l'oggetto viene creato più velocemente.
A quanto pare tutti si sbagliano su questo, non lo so ))

Cosa ti impedisce, in caso di dubbio, di controllare? Perché continuare a prenderlo in giro se è già stato testato e provato?

 
Dmitry Fedoseev:

Cosa ti impedisce, in caso di dubbio, di controllare? Perché continuare a cazzeggiare quando è già stato testato e provato?

Non ho dubbi )) Ma anche per controllare, in qualche modo non si è arrivati a questo.
Ne hai appena scritto prima, quindi se è già stato testato e provato, possiamo fidarci di te come vecchio codificatore )).
Non mi interessa molto questa differenza, pila, mucchio, ma a volte lo faccio.

 

Ragazzi, sono un retrogrado, ma c'è uno stack (quando il primo valore memorizzato viene recuperato per ultimo) e una coda (quando il primo entra, il primo esce).

Cos'è un mucchio?

 
Alexey Viktorov:

Quindi è per capire cosa scegliere che è stata posta la domanda. Non è un quiz dei maghi.

Sì, ho dimenticato di aggiungere che se si creano più oggetti su un heap, si raccomanda di cancellarli in ordine inverso alla loro creazione.

 
Roman:

Sì, ho dimenticato di aggiungere che se vengono creati più oggetti nell'heap, si raccomanda di rimuoverli in ordine inverso alla loro creazione.

Quindi l'heap è uno stack.

Motivazione: