Articles of new operator

Perché non esiste un’espressione di eliminazione del posizionamento in C ++?

Perché C ++ non ha cancellato il posizionamento che corrisponde direttamente al nuovo posizionamento, ovvero chiama il distruttore e chiama l’operatore di eliminazione del posizionamento appropriato? Per esempio: MyType *p = new(arena) MyType; … //current technique p->~MyType(); operator delete(p, arena); //proposed technique delete(arena) p;

Creare un object: con o senza `new`

Possibile duplicato: Qual è la differenza tra l’istanziazione di un object usando nuovo vs. senza Questa è probabilmente una domanda di base e potrebbe essere già stata chiesta (ad esempio, qui ); eppure ancora non lo capisco. Quindi, lascia che te lo chieda. Considera la seguente class C ++: class Obj{ char* str; public: Obj(char* […]

Java FileOutputStream Crea file se non esiste

C’è un modo per usare FileOutputStream in modo che se un file (nome file String) non esiste, allora lo creerà? FileOutputStream oFile = new FileOutputStream(“score.txt”, false);

Le stringhe sono oggetti in Java, quindi perché non usiamo “nuove” per crearle?

Normalmente creiamo oggetti usando la new parola chiave, come: Object obj = new Object(); Le stringhe sono oggetti, ma non li usiamo new per crearli: String str = “Hello World”; Perchè è questo? Posso creare una corda con una new ?

Passando argomenti a C # generico new () di tipo di modello

Sto cercando di creare un nuovo object di tipo T tramite il suo costruttore quando si aggiunge alla lista. Ricevo un errore di compilazione: il messaggio di errore è: ‘T’: non può fornire argomenti durante la creazione di un’istanza di una variabile Ma le mie classi hanno un argomento costruttore! Come posso fare questo lavoro? […]

Come funziona il nuovo operatore in JavaScript?

Probabilmente la parte meno compresa di JavaScript, accanto alla catena del prototipo. Quindi la domanda è: come fa … new dataObj(args); … crei effettivamente un object e definisci il suo prototipo di catena / costruttori / etc? La cosa migliore è mostrare un’alternativa, per comprendere appieno questa parola chiave.

Differenza tra nuovo e override

Ti chiedi quale sia la differenza tra quanto segue: Caso 1: class base public void DoIt(); Caso 1: class ereditata public new void DoIt(); Caso 2: class base public virtual void DoIt(); Caso 2: class ereditata public override void DoIt(); Entrambi i casi 1 e 2 sembrano avere lo stesso effetto in base ai test […]

Quando dovrei usare la nuova parola chiave in C ++?

Ho usato C ++ per un po ‘di tempo e mi sono interrogato sulla nuova parola chiave. Semplicemente, dovrei usarlo o no? 1) Con la nuova parola chiave … MyClass* myClass = new MyClass(); myClass->MyField = “Hello world!”; 2) Senza la nuova parola chiave … MyClass myClass; myClass.MyField = “Hello world!”; Dal punto di vista […]

Usare “Object.create” invece di “new”

Javascript 1.9.3 / ECMAScript 5 introduce Object.create , che Douglas Crockford, tra gli altri, difende da molto tempo. Come sostituisco new nel codice qui sotto con Object.create ? var UserA = function(nameParam) { this.id = MY_GLOBAL.nextId(); this.name = nameParam; } UserA.prototype.sayHello = function() { console.log(‘Hello ‘+ this.name); } var bob = new UserA(‘bob’); bob.sayHello(); (Supponiamo […]

Perché l’uso di “nuovo” causa perdite di memoria?

Ho imparato prima C # e ora sto iniziando con C ++. Come ho capito, l’operatore new in C ++ non è simile a quello in C #. Puoi spiegare il motivo della perdita di memoria in questo codice di esempio? class A { … }; struct B { … }; A *object1 = new […]