|
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
|
Перегрузка оператора +02.08.2014, 17:56. Показов 7937. Ответов 83
Метки нет (Все метки)
не получается в своем классе перегрузить оператор +
пишет "error C2804: бинарный "operator +" имеет слишком много параметров", действительно задал 2 параметра, но как еще то? ведь + и подразумевает собой сложение 2х значений...
0
|
|
| 02.08.2014, 17:56 | |
|
Ответы с готовыми решениями:
83
Перегрузка оператора ^ Перегрузка оператора +
|
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
||
| 02.08.2014, 23:39 | ||
|
Кстати realloc работает как malloc (или calloc) если первым аргументом передан NULL. Так что смысла той проверке в С-варианте нет. Еще вот добавлю: Очень многие в ответах на форуме пишут, так сказать, иллюстрационный код, чтобы пояснить идею. Это не значит (и не должно значить), что это законченный и готовый к использованию продукт. Так что копипастить с форума к себе в проект идея потенциально чреватая ошибками. Отсюда вот такие посты: "форумчанин": сделай то и то. "ТС": сделал - не помогло. Как правило "сделал" в этом случае означает копипаст в проект и пробный запуск. А в идеале надо бы разобраться с тем, что же предлагается. Откуда растут ноги и почему. Допустим загуглить или спросить еще раз в уточняющем посте. Так и в нашем с тобой случае, вот я тебе советую нечто. Привожу конкретный пример с аллокацией (кстати посомори как сделано в std::vector - там все именно так, как я тебе предлагаю), но вот это совсем не значит, что нужно править только аллокацию. Я тебе предлагаю в целом изменить подход. Писать функции так, чтобы они решали одну конкретную задачу, если задача слишком сложна, стоит разбить ее на подзадачи и решить сначала их. Оттестировать, продолжить далее. Твои ошибки типичные, в том числе потому, что в голове почти любого человека не может поместиться слишком много информации одновременно. Когда задача разрастается, становится очень сложно решать вопросы, т.к. за мелочами скрывается суть (поговорка "за деревьями леса не видно"). Один из самых эффективных способов борьбы с такой сложностью - это повышение уровня абстракции (разделяй и властвуй). Есть такое крылатое выражение "Любую проблему можно решить повышением уровня абстракции, кроме проблемы слишком большого числа абстракций", это и указание и предостережение. С одной стороны понятно как решать вопросы, с другой стороны понятно что грозит, если слишком этим увлечься.
0
|
||
|
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
|||||||||||
| 03.08.2014, 00:44 [ТС] | |||||||||||
DrOffset, я ничего не откуда не копипастил, я вообще не смотрел то что вы там кидали... код полностью мой... но впрочем я ушел от темы, про аллокаторы открыл новую
0
|
|||||||||||
|
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
|
|||||||
| 03.08.2014, 02:34 | |||||||
|
Да я и не про себя говорил. И даже не про тебя, т.е. я не имел в виду тебя, когда писал про копипаст. Я вообще говорил о тенденции (это очень часто здесь встречается) и о соблазне брать что дают не особо разбираясь. А потом был переход уже на нашу ситуацию и предостережение не понимать буквально то, о чем я тебе пишу, а постараться вникнуть в то, зачем вообще это нужно. Вот о чем был пост. Кстати твой класс в первом приближении можно описать всего двумя методами: assign и append. Примерно так, назовем этот класс DumbString (потому что он простой): Кликните здесь для просмотра всего текста
Опять же, это лишь иллюстрация. В ней предполагается, что пустая строка - это когда нет выделенной памяти. Никакой оптимизации аллокаций нет (ее не было и в оригинальном коде). Так что единственное, что я здесь могу гарантировать - это то, что этот класс работает не медленнее, чем первоначальная иллюстрация от ТС. Можно будет позже обсудить методологии оптимизации таких контейнеров, возможно в отдельной теме. Итак, вернемся к сути. Пример выше демонстрирует насколько важно проводить декомпозицию задачи: практически весь функционал класса реализуется всего двумя методами. Мы выделили самые базовые версии этих методов и взяли их за основу в реализации всех остальных. Надеюсь, теперь я донес мысль.
0
|
|||||||
|
Каратель
|
||||||
| 03.08.2014, 10:46 | ||||||
|
правильная по Дзен перегрузка оператор+ - в виде свободной функции
0
|
||||||
| 03.08.2014, 10:46 | |
|
Перегрузка оператора + Перегрузка оператора
Перегрузка оператора > Перегрузка оператора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|