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

Массив: Освобождение выделенной памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнить структуру данными из бинарного файла http://www.cyberforum.ru/cpp-beginners/thread909393.html
Мне нужно заполнить структуру Note данными из бинарного файла. У меня есть такие структуры: struct Name { string First_Name;//имя string Patronym; //отчество string Last_Name; //фамилия };...
C++ Выход из цикла по нажатию определенной клавиши Допустим у меня есть какой-нибудь while(1) и мне нужно, чтобы при нажатии, например, esc или enter цикл завершался, как такое сделать? Добавлено через 8 минут А еще лучше, чтобы для продолжения... http://www.cyberforum.ru/cpp-beginners/thread909376.html
C++ Наследование, нахождения произведения и сложения матриц
Организовать производный класс, дополнительно содержащий функции нахождения произведения и сложения матриц. Программу написал, но почему-то значения во всех матрицах задаются одинаково? class.cpp...
После каждого четного элемента массива вставить 2 элемента с тем же значением, полученный массив отсортировать C++
после каждого четного элемента массива вставить 2 элемента с тем же значением.полученный масив отсортировать.очень хотелось бы с комментариями. пример вывода на экран исх массив ...
C++ Описать класс «вектор». Перегрузить операции * (скалярное произведение, умножение на скаляр) http://www.cyberforum.ru/cpp-beginners/thread909368.html
Помогите пожалуйста описать класс «вектор». Перегрузить операции * (скалярное произведение, умножение на скаляр), =. Протестировать работоспособность каждого метода вашего класса. а то экз завтра а...
C++ Не могу понять, что за ошибка (В матрице поменять местами столбцы, чтобы минимальные элементы образовывали возрастающую последовательность) Суть задачи состроит в том, дана матрица размера n на m. задается двумерный массив(рандомно). нужно поменять местами столбцы что бы минимальные элементы образовывали возрастающую последовательность.... подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
7423 / 4538 / 673
Регистрация: 29.11.2010
Сообщений: 12,319
23.06.2013, 04:13
А я, пожалуй, поддержку препода. Если это не методы, созданные исключительно лишь для сокращения копирайта внутри классов, а также не фабрика, то функция не должна работать с памятью. Ибо createMatrix(int, int); приведет нас к утечке, мы обязаны принять вычисления функции. Есть правило: "Кто память выделяет, тот её и освобождает". Его и надо придерживаться. Исключения я написал выше. Конечно, это лишь точка зрения, но ладно здесь ф-ция и возврат динам. памяти используется лишь для формирования массива, но это могут сделать и по банальному незнанию, а, допустим, если все это дело внутри библиотеки? Откуда мы знаем, что перехваченный указатель нужно будет потом передать функции с оператором delete [] ? Привыкать надо с самого начала к правилу, что я выше описал.

@Forumhelp, вам желательно инструкции с функции createMatrix также перенести в main, если уж выносить и функцию освобождения памяти.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru