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

 
Я больше программировал на 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++! Лучше всего Страуструпа.

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