Articles of new operator

Quando usar “novo” e quando não, em C ++?

Duplicar Possível: Quando devo usar a nova palavra-chave em C ++? Quando devo usar o operador “novo” em C ++? Eu estou vindo de C # / Java background e instanciar objects é confuso para mim. Se eu criei uma class simples chamada “Point”, quando eu criar um ponto eu deveria: Point p1 = Point(0,0); […]

Como o delete sabe que é um array?

Tudo bem, acho que todos concordamos que o que acontece com o código a seguir é indefinido, dependendo do que é passado, void deleteForMe(int* pointer) { delete[] pointer; } O ponteiro pode ser todo o tipo de coisas diferentes, e então executar uma delete[] incondicional delete[] é indefinida. No entanto, vamos supor que estamos de […]

Qual é a diferença entre instanciar um object usando novo vs.

Em C ++, Além da alocação de memory dinâmica, há uma diferença funcional entre as duas linhas de código a seguir: Time t (12, 0, 0); //t is a Time object Time* t = new Time(12, 0, 0);//t is a pointer to a dynamically allocated Time object Estou assumindo, é claro, que um Time (int, […]

Strings são objects em Java, então por que não usamos ‘new’ para criá-los?

Normalmente, criamos objects usando a new palavra-chave, como: Object obj = new Object(); Strings são objects, mas não usamos new para criá-los: String str = “Hello World”; Por que é isso? Posso fazer uma String com new ?

Passando argumentos para C # genérico new () do tipo modelado

Eu estou tentando criar um novo object do tipo T através de seu construtor ao adicionar à lista. Estou recebendo um erro de compilation: A mensagem de erro é: ‘T’: não pode fornecer argumentos ao criar uma instância de uma variável Mas minhas classs têm um argumento de construtor! Como posso fazer isso funcionar? public […]

Como o novo operador trabalha em JavaScript?

Provavelmente a parte menos compreendida do JavaScript, ao lado da cadeia de protótipos. Então a questão é: como é … new dataObj(args); … realmente criar um object e definir seu protótipo de cadeia / construtores / etc? O melhor é mostrar uma alternativa, para entender completamente essa palavra-chave.

Quais valores um construtor pode retornar para evitar retornar isso?

Quais são as circunstâncias exatas para as quais uma instrução de retorno em JavaScript pode retornar um valor diferente this quando um construtor é invocado usando a new palavra-chave? Exemplo: function Foo () { return something; } var foo = new Foo (); Se não me engano, se something é um primitivo não-function, this será […]

C ++ new int – irá alocar memory?

Um aplicativo de teste simples: cout << new int[0] << endl; saídas: 0x876c0b8 Então parece que funciona. O que o padrão diz sobre isso? É sempre legal “alocar” bloco vazio de memory?

Por que o uso de ‘novo’ causa vazamentos de memory?

Eu aprendi C # primeiro e agora estou começando com C ++. Pelo que entendi, o operador new em C ++ não é semelhante ao do C #. Você pode explicar o motivo do memory leaks neste código de exemplo? class A { … }; struct B { … }; A *object1 = new A(); […]

Quando devo usar a nova palavra-chave em C ++?

Eu tenho usado o C ++ por um tempo, e fiquei me perguntando sobre a nova palavra–chave. Simplesmente, devo usá-lo ou não? 1) Com a nova palavra-chave … MyClass* myClass = new MyClass(); myClass->MyField = “Hello world!”; 2) Sem a nova palavra-chave … MyClass myClass; myClass.MyField = “Hello world!”; De uma perspectiva de implementação, eles […]