|
-2 / 8 / 2
Регистрация: 10.11.2008
Сообщений: 776
|
|
Отличие перегрузки operator() от конструктора16.11.2015, 14:21. Показов 5366. Ответов 51
Метки нет (Все метки)
Добрый день!
Подскажите пожалуйста, в чем отличие перегрузки operator() от конструктора, и почему нельзя простой объект передать в виде функционального объекта? Или можно?
0
|
|
| 16.11.2015, 14:21 | |
|
Ответы с готовыми решениями:
51
Перегрузки (operator+) Ошибка перегрузки конструктора
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||||||
| 17.11.2015, 12:33 | |||||||||||
|
Имеется в виду, разумеется, переносимый вариант, а не какие-нибудь махинации с битами на конкретно взятой платформе. Ты же утверждал: Понятно, что весь смысл существования конструкторов в C++ - исключить возможность, имеющуюся в любимых тобой сях, оперировать над неинициализированными данными. Т.е. чтобы создание и инициализация были, по сути, неделимой операцией. В общем, тут есть нечто общее с твоим подходом, который ты внушал, рассказывая про возвращаемое значение из конструктора (через оператор преобразования в целое).
0
|
|||||||||||
|
|
|||||
| 17.11.2015, 13:38 | |||||
|
Добавлено через 2 минуты Не по теме: В одной из тем Kastaneda указал на неправильность термина "оператор new", я просто не помню, как его называть правильно, а потому попрошу к слову "оператор" не придираться
1
|
|||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||
| 17.11.2015, 13:57 | ||||
|
N3797 12.1.2
3.8.1
Добавлено через 6 минут Но 3.8.3
3
|
||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||
| 17.11.2015, 14:17 | ||||
|
Что ж, готов признать свою ошибку. Надо чаще в Стандарт заглядывать (1.8/1):
Добавлено через 2 минуты
1
|
||||
|
|
|||
| 17.11.2015, 14:24 | |||
|
Добавлено через 3 минуты Добавлено через 2 минуты Чисто до кучи https://www.cyberforum.ru/blogs/18334/blog103.html
0
|
|||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 17.11.2015, 14:30 | ||
|
0
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 17.11.2015, 14:57 | ||
|
0
|
||
|
655 / 576 / 164
Регистрация: 13.12.2012
Сообщений: 2,126
|
||||||
| 17.11.2015, 14:59 | ||||||
|
ок, народ, пример
следовательно объект не создан, то что объект начал создавать это яснопонятно, но в конечном итоге он не считается созданным, раз деструктор не вызвался, значит конструктор создает объект в том числе. Лучше бы объяснили ТС разницу между конструктором и call-оперторром, чем сраться из-за терминов, это срач в любом случае не отвечает на вопросы и не несет истины
0
|
||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||
| 17.11.2015, 15:12 | ||||
|
0
|
||||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 17.11.2015, 15:30 | ||
|
0
|
||
| 17.11.2015, 15:41 | |
|
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||||||
| 17.11.2015, 19:12 | ||||||||||
|
кстати, когда я пишу что-то вроде:
кто и каким образом подсовывает туда ноль. и вообще, вдумайтесь в слово "синтаксис", которое вы употребили выше. что там под капотом у компилятора - вторичный фактор. как мы можем это использовать - первичный. с точки зрения синтаксиса все типы обладают конструкторами. и мы можем на это закладываться. вот что главное. просто дружит со здравым смыслом. а вот к примеру на пыхе оно не дружит со здравым смыслом. и соотвественно, там запросто можно подергать функции-члены ещё не проиницилизированного наследника. и поиметь весь сопутствующий гемморой. не означает отсутствие его существования. принципиально, что при желании, можно и конструктор в качестве функтора приспособить.
0
|
||||||||||
| 17.11.2015, 19:21 | |
|
Не по теме: Блин. Ну вы прям как бабки старые.
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||
| 17.11.2015, 21:02 | |||||||
0
|
|||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||
| 17.11.2015, 21:34 | |||||||||
|
нет никакой разницы между отсутствием конструктора, и ничего не делающим конструктором. и нет никакой разницы между вызовом реального конструтора, который запишет в объект ноль, и шаманством компилятора, который сгенерирует код записи нуля в объект. нет никакой разницы в первую очередь с точки зрения синтаксиса. и нет никакой разницы с технической точки зрения. с точки зрения синтаксиса. то, что они фиктивные - монопенисуальный фактор. наверное, это трудно будет понять человеку, который думает, что конструктор создает объект. до вас тупо не доходит, о чем пишет Страуструп. ну тогда почитайте тогда лучше нашего Евгения: что я вам как минимум уже два раза в этой теме пытался донести? конструктор не доработал - объект в неконсистентном состоянии. что на этапе работы конструктора объект существует. но если вылетит птичка, объект абортируется.
0
|
|||||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||||
| 17.11.2015, 22:43 | ||||||||
![]()
С точки зрения Саттера - нет.
0
|
||||||||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||
| 17.11.2015, 23:06 | ||
|
0
|
||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 17.11.2015, 23:10 | ||
std::move у объекта состояние валидное, но не известно какое. И единственное, что безопасно можно сделать с таким объектом - удалить. Т.е. чтобы вызвался деструктор. Для объекта, у которого конструктор не завершился нормальным образом и речи быть не может о вызове деструктора.
1
|
||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||||
| 17.11.2015, 23:13 | ||||||||
Добавлено через 1 минуту
0
|
||||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||
| 17.11.2015, 23:17 | |||
![]() Можно. Но аборт юридически не считается убийством. Так и тут. Нет объекта, пока он не родился (не вышел успешно из конструктора).
0
|
|||
| 17.11.2015, 23:17 | |
|
Аналог перегрузки оператора индексирования (operator [])
Реализация перегрузки "operator +" для двух объектов Создание перегрузки метода "operator =" для типа, расположенного в ином namespace Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|