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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заполнить структуру данными из бинарного файла http://www.cyberforum.ru/cpp-beginners/thread909393.html
Мне нужно заполнить структуру Note данными из бинарного файла. У меня есть такие структуры: struct Name { string First_Name;//имя string Patronym; //отчество string Last_Name; //фамилия }; struct Day_Of_Birth {
C++ Выход из цикла по нажатию определенной клавиши Допустим у меня есть какой-нибудь while(1) и мне нужно, чтобы при нажатии, например, esc или enter цикл завершался, как такое сделать? Добавлено через 8 минут А еще лучше, чтобы для продолжения цикла нажать enter, а для выхода из него esc и так после каждой итерации. http://www.cyberforum.ru/cpp-beginners/thread909376.html
C++ Наследование, нахождения произведения и сложения матриц
Организовать производный класс, дополнительно содержащий функции нахождения произведения и сложения матриц. Программу написал, но почему-то значения во всех матрицах задаются одинаково? class.cpp #include <iostream> #include <iomanip> #include <cstdlib> #include <windows.h> #include <cmath> #include <ctime>
После каждого четного элемента массива вставить 2 элемента с тем же значением, полученный массив отсортировать C++
после каждого четного элемента массива вставить 2 элемента с тем же значением.полученный масив отсортировать.очень хотелось бы с комментариями. пример вывода на экран исх массив 1 2 0 12 14 четные элементы 2 12 14 полученный отсортированный массив 14 14 14 12 12 12 2 2 2 1 0 вот этот код нужно исправить.в нем ошибка(...
C++ Описать класс «вектор». Перегрузить операции * (скалярное произведение, умножение на скаляр) http://www.cyberforum.ru/cpp-beginners/thread909368.html
Помогите пожалуйста описать класс «вектор». Перегрузить операции * (скалярное произведение, умножение на скаляр), =. Протестировать работоспособность каждого метода вашего класса. а то экз завтра а я не успела сделать её.
C++ Не могу понять, что за ошибка (В матрице поменять местами столбцы, чтобы минимальные элементы образовывали возрастающую последовательность) Суть задачи состроит в том, дана матрица размера n на m. задается двумерный массив(рандомно). нужно поменять местами столбцы что бы минимальные элементы образовывали возрастающую последовательность. #include "stdafx.h" #include <stdio.h> #include <iostream> #include <time.h> #define x 100 #define y 100 using namespace std; void gen (int str, int slb, int a, int b, int mass); подробнее

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

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