Articles of nuovo operatore

posizionamento nuovo e cancella

Qual è il metodo giusto per cancellare tutta la memoria allocata qui? const char* charString = “Hello, World”; void *mem = ::operator new(sizeof(Buffer) + strlen(charString) + 1); Buffer* buf = new(mem) Buffer(strlen(charString)); delete (char*)buf; O const char* charString = “Hello, World”; void *mem = ::operator new(sizeof(Buffer) + strlen(charString) + 1); Buffer* buf = new(mem) Buffer(strlen(charString)); […]

Dove e perché usare int a = new int?

Solo curioso, qual è la differenza tra: int A = 100; e int A = new int(); So che nuovo è usato per allocare memoria sull’heap..ma davvero non ho il contesto qui.

È ansible eliminare un object non nuovo?

Ho un object con un vettore di puntatori ad altri oggetti, qualcosa del genere: class Object { … vector objlist; … }; Ora, gli oggetti verranno aggiunti all’elenco in entrambi i modi: Object obj; obj.objlist.push_back(new Object); e Object name; Object* anon = &name; obj.objlist.push_back(anon); Se fai un distruttore che è semplicemente ~Object { for (int […]

In Ruby, qual è la relazione tra “nuovo” e “inizializza”? Come restituire nil durante l’inizializzazione?

Quello che voglio è: obj = Foo.new(0) # => nil or false Questo non funziona: class Foo def initialize(val) return nil if val == 0 end end So in C / C ++ / Java / C #, non possiamo restituire un valore in un costruttore. Ma mi chiedo se sia ansible in Ruby.

Come aprire il browser predefinito in C #

Sto progettando una piccola applicazione C # e c’è un browser web al suo interno. Attualmente ho tutti i miei valori predefiniti sul mio computer dicono che google chrome è il mio browser predefinito, eppure quando faccio clic su un collegamento nella mia applicazione per aprirlo in una nuova finestra, si apre Internet Explorer. C’è […]

Creare un object vuoto in JavaScript con {} o un nuovo object ()?

Esistono due modi diversi per creare un object vuoto in JavaScript: var objectA = {} var objectB = new Object() C’è qualche differenza nel modo in cui il motore di script li gestisce? C’è qualche ragione per usare l’uno sull’altro? Allo stesso modo è anche ansible creare un array vuoto usando una syntax diversa: var […]

Come inizializzare la memoria con un nuovo operatore in C ++?

Sto appena cominciando a entrare in C ++ e voglio prendere alcune buone abitudini. Se ho appena assegnato un array di tipo int al new operatore, come posso inizializzarli tutti a 0 senza doverli scorrere tutti da solo? Dovrei semplicemente usare memset ? Esiste un modo “C ++” per farlo?

In ogni caso, il nuovo ritorno sarà NULL?

So che secondo lo standard C ++ nel caso in cui il nuovo non riesce ad allocare memoria, si suppone che lanci l’eccezione std :: bad_alloc. Ma ho sentito che alcuni compilatori come VC6 (o implementazione CRT?) Non aderiscono ad esso. È vero ? Lo sto chiedendo perché il controllo di NULL dopo ogni nuova […]

Perché sostituire uno nuovo predefinito e cancellare gli operatori?

Perché dovrebbe sostituire l’operatore predefinito new ed delete con un new personalizzato ed delete operatori? Questo è in continuazione Overloading new ed delete nelle FAQ C ++ immensamente illuminanti: Sovraccarico dell’operatore Una voce successiva a questa FAQ è: Come dovrei scrivere standard conformi agli standard ISO C ++ e delete operatori? Nota: la risposta è […]

Quando usare “nuovo” e quando no, in C ++?

Possibile duplicato: Quando dovrei usare la nuova parola chiave in C ++? Quando dovrei usare l’operatore “nuovo” in C ++? Vengo dallo sfondo C # / Java e l’istanziazione degli oggetti mi confonde. Se ho creato una semplice class chiamata “Punto”, quando creo un punto dovrei: Point p1 = Point(0,0); o Point* p1 = new […]