Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Динамическая память. Функции. Массивы .Объекты - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Комплексные числа. Символическая форма записи http://www.cyberforum.ru/cpp-beginners/thread641316.html
Сейчас делаю реализацию класса. Что-то мне подсказывает, что есть ошибки. Тут больше вопрос по математике, в коей я практически ничего не понимаю. Кто в теме, просмотрите перегрузку арифметических...
C++ : error C2065: 'remainder' : undeclared identifier Доброй ночи, вот изучаю Microsoft Visual Studio 2008 и в примере выскакивает данная ошибка(: error C2065: 'remainder' : undeclared identifier) , я так понимаю что в коде не хватает библиотеки только... http://www.cyberforum.ru/cpp-beginners/thread641310.html
Массив: Все элементы массива, кратные трем, записать в одномерный массив. C++
Дан двумерный массив размером n x n? заполненный целыми числами. Все его элементы кратные трем, записать в одномерный массив.
Ошибки в коде C++
Изучаю ООП с++ по книге Р.Лафоре. Как было написано в книге ввел код: #include <iostream> USING NAMESPACE STD; INT MAIN() { COUT << "Ó ÊÀÆÄÎÉ ÝÏÎÕÈ ÑÂÎÉ...
C++ Замена файла [c++] http://www.cyberforum.ru/cpp-beginners/thread641287.html
void zam(LPCTSTR FILE,LPCTSTR LIFILE) { //Сюда надо вставить код который заменяет файл FILE на этот LIFILE //CopyFile не предлагать! }
C++ Запустить дополнительную страницу браузера Как можно запустить страницу браузера? С помошью след функции можно запустить отдельно новую копию браузера. ShellExecute(NULL,NULL,ExeFile,URL,NULL,SW_RESTORE); Возникли такие вопросы: 1.... подробнее

Показать сообщение отдельно
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.08.2012, 02:06
Цитата Сообщение от bgm313 Посмотреть сообщение
можно ли её будет как-то освободить при выходе из функции?
Можно. В функции сделайте:
C++
1
delete temp;
Если объект, созданный в функции при помощи new MyClass(), при выходе из функции вам больше не понадобится. Если понадобится, то читайте мой предыдущий пост. Для примера:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int* func()
{
 int *temp = new int;
 ...
 return temp;
}
 
int main()
{
   ...
   int *p;
   p = func(); // сохраняете значение указателя на объект.
   ...
   delete p; // объект больше не нужен.
  ...
Добавлено через 10 минут
Цитата Сообщение от bgm313 Посмотреть сообщение
1.Скажите пожалуйста с чем, связана эта утечка?
С тем, что в функции выделяется динамическая память, а указатель на неё не сохраняется, и поэтому теряется возможность её в дальнейшем освободить. Память, выделяемая при помощи new, если её не освободить при помощи delete, сохраняется до окончания работы программы, в отличие от памяти для локальных переменных, создаваемых в функции.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru