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

Перегрузка оператора + - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как грамотно подключать заголовочные файлы? http://www.cyberforum.ru/cpp-beginners/thread1237648.html
Как грамотно подключать заголовочные файлы? Можно ли их все собрать в stdafx.h а потом инклюдить там где они мне нужны? А то сейчас получается, в одном .h объявил переменную с типом класса который...
C++ Алгоритм добавления элемента в сортированный список Нужно придумать алгоритм для добавления элемента в сортированный список(STL list<char>), то есть этот алгоритм должен сравнивать введенный элемент с уже имеющимися элементами в списке и встать в... http://www.cyberforum.ru/cpp-beginners/thread1237642.html
Получение данных из файла C++
Задача№6. Постройте программу, которая отслеживает пожертвования в Общество Защиты Влиятельных Лиц. Она должна запрашивать у пользователя количество меценатов, а затем приглашать вводить их имена и...
C++ Обход графа в ширину - Breadth First Search (BFS)
Всем привет! Я не понимаю алгоритм обхода в глубину BFS:( Кто может помощь?
C++ Передача препроцессорных определений в командной строке http://www.cyberforum.ru/cpp-beginners/thread1237632.html
Здравствуйте! Подскажите пожалуйста, как передать препроцессорное определение через командную строку. То есть пишется код, который проверяет определение DEBUG (#ifndef DEBUG) и если оно...
C++ Чем отличаются знаковые и беззнаковые типы? Здравствуйте. Все не могу понять, чем отличаются знаковые и беззнаковые типы? И для каких типов они есть? short int это тоже самое, что и unsigned int? подробнее

Показать сообщение отдельно
DrOffset
7321 / 4421 / 1001
Регистрация: 30.01.2014
Сообщений: 7,259
02.08.2014, 22:41
GetHelp, миллион советов уже тебе дали по конкретике, не буду повторяться.
Скажу одно, основная и главная проблема твоя в подходе к написанию кода. То, что ошибки ты сейчас самостоятельно или с помощью форумчан, исправишь - это понятно и хорошо. Но вот самый главный шаг нужно с делать в сторону того, чтобы ошибок было изначально меньше.
Начни с разделения ответственности. У тебя есть задача, задача делится на составные части. Каждую составную часть нужно описать отдельно и отдельно оттестировать, а потом собирать все воедино как конструктор. Т.е., вот скажем функция выделения памяти, она у тебя, что называется, прошита во все методы, где используется. каждый раз нужно высчитывать размер умножая на sizeof(char), каждый раз заботиться о проверке, каждый раз смотреть, чтобы указатель не попортился и т.д. Где-то можно что-то и забыть или не так посчитать. В нормальных контейнерах функцию выделения памяти обычно абстрагируют во внутреннюю функцию allocate, а освобождение, соответственно, в deallocate. Инициализация - это тоже отдельная операция. Копирование - тоже. И т.д. Принцип divide et impera очень древний и очень действенный. Не стоит пренебрегать им.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru