Уничтожение объектов

 
Я больше программировал на C# и Java, где память высвобождается самой виртуальной машиной. На С++ ничего серьёзного не писал. Поэтому возник вопрос. Уничтожать необходимо только указатели или экземпляры т.е. объекты любых классов, как только они уже не нужны в определённой области видимости и потом, при надобности они создадуться опять.. Я правильно понимаю? Не увидел я ни в одном коде, который мне попадался по этому поводу ничего.
 

Уничтожать при помощи 'delete' нужно то что создано при помощи 'new'.

Локальные объекты созданные без 'new' уничтожаются при выходе из функции.

Глобальные существуют всегда.

 
hoz:
Я больше программировал на C# и Java, где память высвобождается самой виртуальной машиной. На С++ ничего серьёзного не писал. Поэтому возник вопрос. Уничтожать необходимо только указатели или экземпляры т.е. объекты любых классов, как только они уже не нужны в определённой области видимости и потом, при надобности они создадуться опять.. Я правильно понимаю? Не увидел я ни в одном коде, который мне попадался по этому поводу ничего.

Тут выше ответили, у меня вопрос - как можно уничтожить указатель? На Java не писал, шарп хорошо знаю.

 
Alexey Volchanskiy:

Тут выше ответили, у меня вопрос - как можно уничтожить указатель? На Java не писал, шарп хорошо знаю.

в принципе и указатель можно динамически создавать и уничтожать - правда вместо экономии памяти будет пожалуй расход из-за фрагментации. Автор имел видимо в виду то, на что этот указатель указывает...

 
STARIJ:

в принципе и указатель можно динамически создавать и уничтожать - правда вместо экономии памяти будет пожалуй расход из-за фрагментации. Автор имел видимо в виду то, на что этот указатель указывает...

Пример кода пожалуйста приведите

 
Alexey Volchanskiy:

Пример кода пожалуйста приведите

int a = 5;

int *p = null;

p = &a;

А дальше я так понимаю типа такого:

delete p;

Меня смущает только одно. Ведь некоторые объекты могут быть нужны на протяжении работы программы постоянно. Как с этим быть вопрос.

 
hoz:

Меня смущает только одно. Ведь некоторые объекты могут быть нужны на протяжении работы программы постоянно. Как с этим быть вопрос.

Koldun Zloy:

Глобальные существуют всегда.

 
hoz:

А дальше я так понимаю типа такого:

Это только в C++. В MQL так нельзя.


hoz:

Меня смущает только одно. Ведь некоторые объекты могут быть нужны на протяжении работы программы постоянно. Как с этим быть вопрос.

А меня смущает, что Вы год за годом задаёте детские вопросы.

Вы или займитесь серьёзно, или бросьте это занятие.

 
Koldun Zloy:

Это только в C++. В MQL так нельзя.

Как это нельзя? Вот из справки:

      delete(foo_pointers[i]);

Разве что скобки нужны дополнительно.


Koldun Zloy:

А меня смущает, что Вы год за годом задаёте детские вопросы.

Вы или займитесь серьёзно, или бросьте это занятие.

Раньше были вопросы детские, я не спорю. А сейчас я перелопатил справку за вечер. Только с указателями не всё ещё понятно. А так сложного ничего. Разве что синтаксис диковат по сравнению с другими языка.
Указатели объектов - Типы данных - Основы языка - Справочник MQL4
Указатели объектов - Типы данных - Основы языка - Справочник MQL4
  • docs.mql4.com
В MQL4 существует возможность динамически создавать объекты сложного типа. Это делается при помощи оператора new, который возвращает описатель созданного объекта. Описатель имеет размер 8 байт. Синтаксически описатели объектов в MQL4 похожи на указатели в C++. В отличие от C++, переменная hobject из вышеприведенного примера не является...
 
hoz:

Как это нельзя? Вот из справки:

Разве что скобки нужны дополнительно.

Я все свои коды проверяю, прежде чем публиковать на форуме. Намёк понятен?

hoz:

Раньше были вопросы детские, я не спорю. А сейчас я перелопатил справку за вечер. Только с указателями не всё ещё понятно. А так сложного ничего. Разве что синтаксис диковат по сравнению с другими языка.

И сейчас детские. Вы правда думаете, что я могу чего-то не знать, что знаете Вы? Только проблемы почему-то у Вас, а не у меня.

Бегом читать учебник по C++! Лучше всего Страуструпа.

И пока не прочитаете никаких вопросов.