Вопросы с тегом «new-operator»

1745
Что такое «новое» ключевое слово в JavaScript?

newКлючевое слово в JavaScript может быть довольно запутанным , когда он впервые встречается, так как люди склонны думать , что JavaScript не является объектно-ориентированный язык программирования. Что это? Какие проблемы это решает? Когда это уместно, а когда нет?...

873
Почему программисты на C ++ должны минимизировать использование «нового»?

Я наткнулся на вопрос переполнения стека Утечка памяти с помощью std :: string при использовании std :: list <std :: string> , и один из комментариев говорит об этом: Прекратите использовать newтак много. Я не вижу причин, по которым ты использовал новое, где бы ты ни был. Вы можете создавать...

479
В каких случаях я использую malloc и / или new?

Я вижу, что в C ++ существует несколько способов выделения и освобождения данных, и я понимаю, что при вызове mallocвы должны вызывать, freeа когда вы используете newоператор, вы должны deleteвыполнять сопряжение, и смешивать их два - ошибка (например, вызов free()чего-то, что было создано с...

409
Передача аргументов в C # generic new () шаблонного типа

Я пытаюсь создать новый объект типа T через его конструктор при добавлении в список. Я получаю сообщение об ошибке компиляции: Сообщение об ошибке: 'T': не может предоставить аргументы при создании экземпляра переменной Но у моих классов есть аргумент конструктора! Как я могу сделать эту работу?...

370
Создать пустой объект в JavaScript с помощью {} или new Object ()?

Есть два разных способа создания пустого объекта в JavaScript: var objectA = {} var objectB = new Object() Есть ли разница в том, как обработчик скриптов обрабатывает их? Есть ли причина использовать один над другим? Точно так же возможно создать пустой массив, используя другой синтаксис: var...

273
Когда я должен использовать новое ключевое слово в C ++?

Я использую C ++ в течение короткого времени, и меня интересует новое ключевое слово. Просто я должен использовать это или нет? 1) С новым ключевым словом ... MyClass* myClass = new MyClass(); myClass->MyField = "Hello world!"; 2) Без нового ключевого слова ... MyClass myClass; myClass.MyField =...

259
Как открыть браузер по умолчанию в C #

Я разрабатываю небольшое приложение на C # и в нем есть веб-браузер. В настоящее время все настройки по умолчанию на моем компьютере говорят, что Google Chrome - это браузер по умолчанию, но когда я нажимаю ссылку в своем приложении, чтобы открыть в новом окне, он открывает Internet Explorer. Есть...

232
Можно ли удалить это?

Разрешено ли, delete this;если оператор delete является последним оператором, который будет выполнен в этом экземпляре класса? Конечно, я уверен, что объект, представленный this-pointer, newсоздан. Я думаю о чем-то вроде этого: void SomeModule::doStuff() { // in the controller, "this" object of...

229
Можем ли мы опустить скобки при создании объекта с помощью оператора «new»?

Я видел объекты, созданные таким образом: const obj = new Foo; Но я подумал, что круглые скобки не являются обязательными при создании объекта: const obj = new Foo(); Является ли первый способ создания объектов действительным и определенным в стандарте ECMAScript? Есть ли различия между первым...

199
Разница между новым и переопределить

Хотите знать, в чем разница между следующим: Случай 1: Базовый класс public void DoIt(); Случай 1: Унаследованный класс public new void DoIt(); Случай 2: Базовый класс public virtual void DoIt(); Случай 2: Унаследованный класс public override void DoIt(); Оба случая 1 и 2, по-видимому, имеют...

176
Как инициализировать память новым оператором в C ++?

Я только начинаю изучать C ++ и хочу приобрести хорошие привычки. Если я только что выделил массив типа intс newоператором, как я могу инициализировать их все в 0, не просматривая их все самостоятельно? Должен ли я просто использовать memset? Есть ли «С ++» способ сделать...

136
Как delete [] знает, что это массив?

Хорошо, я думаю, что мы все согласны с тем, что то, что происходит со следующим кодом, не определено, в зависимости от того, что передано, void deleteForMe(int* pointer) { delete[] pointer; } Указатель может быть разного рода, поэтому выполнение безусловного delete[]для него не определено. Тем не...

131
Почему использование «нового» вызывает утечку памяти?

Сначала я выучил C #, а теперь начинаю с C ++. Насколько я понимаю, оператор newв C ++ не похож на оператор в C #. Можете ли вы объяснить причину утечки памяти в этом примере кода? class A { ... }; struct B { ... }; A *object1 = new A(); B object2 = *(new...

110
Malloc vs new - разные обивки

Я просматриваю чужой код C ++ для нашего проекта, который использует MPI для высокопроизводительных вычислений (10 ^ 5 - 10 ^ 6 ядер). Код предназначен для обеспечения связи между (потенциально) разными машинами на разных архитектурах. Он написал комментарий, в котором говорится примерно следующее:...

106
Строки - это объекты в Java, так почему бы нам не использовать «новый» для их создания?

Обычно мы создаем объекты, используя newключевое слово, например: Object obj = new Object(); Строки - это объекты, но мы не используем их newдля их создания: String str = "Hello World"; Почему это? Могу ли я сделать строку с помощью new?...

102
Как добавить к существующему хешу в Ruby

Что касается добавления key => value пары к существующему заполненному хешу в Ruby, я нахожусь в процессе работы с Apress 'Beginning Ruby и только что закончил главу о хешах. Я пытаюсь найти самый простой способ достичь тех же результатов с хешами, что и с массивами: x = [1, 2, 3, 4] x <<...