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

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

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

Показать сообщение отдельно
DrOffset
6425 / 3799 / 880
Регистрация: 30.01.2014
Сообщений: 6,592
02.08.2014, 23:39     Перегрузка оператора +
Цитата Сообщение от GetHelp Посмотреть сообщение
DrOffset, я лучше напишу общие аллокаторы...
Да без проблем. Именно к этому я тебя и подвожу. Остальные моменты (не обязательно в текущей задаче) точно так же поддаются разбиению на подзадачи. Все, что выше - это была лишь иллюстрация, чтобы ты понял.

Кстати realloc работает как malloc (или calloc) если первым аргументом передан NULL. Так что смысла той проверке в С-варианте нет.

Еще вот добавлю:
Очень многие в ответах на форуме пишут, так сказать, иллюстрационный код, чтобы пояснить идею. Это не значит (и не должно значить), что это законченный и готовый к использованию продукт. Так что копипастить с форума к себе в проект идея потенциально чреватая ошибками. Отсюда вот такие посты:
"форумчанин": сделай то и то.
"ТС": сделал - не помогло.
Как правило "сделал" в этом случае означает копипаст в проект и пробный запуск. А в идеале надо бы разобраться с тем, что же предлагается. Откуда растут ноги и почему. Допустим загуглить или спросить еще раз в уточняющем посте.
Так и в нашем с тобой случае, вот я тебе советую нечто. Привожу конкретный пример с аллокацией (кстати посомори как сделано в std::vector - там все именно так, как я тебе предлагаю), но вот это совсем не значит, что нужно править только аллокацию. Я тебе предлагаю в целом изменить подход. Писать функции так, чтобы они решали одну конкретную задачу, если задача слишком сложна, стоит разбить ее на подзадачи и решить сначала их. Оттестировать, продолжить далее. Твои ошибки типичные, в том числе потому, что в голове почти любого человека не может поместиться слишком много информации одновременно. Когда задача разрастается, становится очень сложно решать вопросы, т.к. за мелочами скрывается суть (поговорка "за деревьями леса не видно"). Один из самых эффективных способов борьбы с такой сложностью - это повышение уровня абстракции (разделяй и властвуй). Есть такое крылатое выражение "Любую проблему можно решить повышением уровня абстракции, кроме проблемы слишком большого числа абстракций", это и указание и предостережение. С одной стороны понятно как решать вопросы, с другой стороны понятно что грозит, если слишком этим увлечься.
 
Текущее время: 22:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru