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

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

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

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

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

7
Как добавить к существующему хешу в Ruby
Что касается добавления key => value пары к существующему заполненному хешу в Ruby, я нахожусь в процессе работы с Apress 'Beginning Ruby и только что закончил главу о хешах. Я пытаюсь найти самый простой способ достичь тех же результатов с хешами, что и с массивами: x = [1, 2, 3, …
102 ruby  new-operator  hash 


5
Как вы «перераспределяете» в C ++?
Как я могу reallocна C ++? В языке вроде бы отсутствует - есть newи deleteно нетresize ! Мне это нужно, потому что по мере того, как моя программа читает больше данных, мне нужно перераспределить буфер для его хранения. Я не думаю, что deleteиспользовать старый указатель и newиспользовать новый, более крупный …

4
Выражение должно иметь тип класса
Некоторое время я не программировал на C ++ и застрял, когда попытался скомпилировать этот простой фрагмент: class A { public: void f() {} }; int main() { { A a; a.f(); // works fine } { A *a = new A(); a.f(); // this doesn't } }

4
Разница между виртуальным, переопределением, новым и запечатанным переопределением
Я довольно путать между некоторыми понятиями объектно - ориентированного программирования: virtual, override, newи sealed override. Кто-нибудь может объяснить различия? Я совершенно ясно понимаю, что если будет использоваться метод производного класса, можно использовать overrideключевое слово, чтобы метод базового класса был переопределен производным классом. Но я не уверен new, и sealed override.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.