|
Заблокирован
|
|
Почему в С++ это сделано именно так? Объяснение для НЕ программиста22.04.2017, 11:51. Показов 9583. Ответов 72
Метки нет (Все метки)
В этой теме хотелось бы задавать "тупые" вопросы по С++ и получить ответы и объяснения на нормальном человеческом языке, понятном НЕ программисту.
Т.е. без "птичьего языка", программистского сленга/жаргона и т.п. А на понятном любому НЕ программисту языке. Вопрос №1. Зачем расширили синтаксис инициализации в С++? Я о "скобочной форме" инициализации. Добавлено через 2 минуты Приведите примеры, где без этой скобочной формы инициализации просто никак. Я имею в виду не потому что этого требует синтаксис, а про реальную пользу
0
|
|
| 22.04.2017, 11:51 | |
|
Ответы с готовыми решениями:
72
Почему именно так ?! Почему именно так правильно? Почему функция работает именно так? |
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 22.04.2017, 13:13 | ||
|
при помощи которого осуществляется неявное приведение типа. во втором - explicit конструктор. для просто инта это не критично. но может быть критично для классов. у них может оказаться запрещенным конструктор копии. или не оказаться не explicit конструктора
0
|
||
|
Заблокирован
|
||||
| 22.04.2017, 13:19 [ТС] | ||||
|
Добавлено через 2 минуты Добавлено через 1 минуту Так что, ИМХО, Ваша интерпретация не верна
0
|
||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 22.04.2017, 13:22 | ||
|
2
|
||
|
Заблокирован
|
|||
| 22.04.2017, 13:24 [ТС] | |||
|
Сначала вызывается конструктор, который создает безымянный объект. А уже потом вызывается конструктор копирования. Который выполняет операцию копирования (хотя при этом копия может оказаться вовсе не 100%-й копией - но все равно этот конструктор так называется) Добавлено через 1 минуту
0
|
|||
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
||
| 22.04.2017, 13:30 | ||
|
0
|
||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 22.04.2017, 13:32 | |||
|
0
|
|||
|
Заблокирован
|
|
| 22.04.2017, 13:33 [ТС] | |
|
0
|
|
|
1272 / 1029 / 470
Регистрация: 25.12.2016
Сообщений: 3,333
|
|
| 22.04.2017, 13:35 | |
|
0
|
|
|
Заблокирован
|
|
| 22.04.2017, 13:35 [ТС] | |
|
И даже объясняется почему так.
потому что "компилятор может принять такую инициализацию за неверное описание функции"
0
|
|
|
Велосипедист...
353 / 220 / 73
Регистрация: 15.12.2015
Сообщений: 785
|
||
| 22.04.2017, 13:37 | ||
|
ИсмаилПркопенко,
auto -- это класс памяти, веришь?
0
|
||
|
Заблокирован
|
|||
| 22.04.2017, 14:02 [ТС] | |||
|
Вы сказали про ОДИН! Про ОДИН, Карл, конструктор. А их там два (если не три - нужно уточнить - возможно третий - это "конструктор ПРЕОБРАЗОВАНИЯ") вызывается. НЕЯВНО И АВТОМАТИЧЕСКИ Добавлено через 46 секунд По простому
0
|
|||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||
| 22.04.2017, 15:29 | ||||
|
я сказал ровно то, что сказал: - что бы рулить - а вы без руления можете объяснить? такое впечатление - гуманитарий головного мозга.
0
|
||||
|
Заблокирован
|
|||||||||||||
| 22.04.2017, 15:42 [ТС] | |||||||||||||
|
Я вас правильно понял? Добавлено через 7 минут Вопрос №2 Зачем нужно создавать ПРОМЕЖУТОЧНЫЙ безымянный объект? Есть код
Тогда зачем ещё пишут так:
0
|
|||||||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||||
| 22.04.2017, 15:51 | |||||||||||||
|
explicit - запрет на неявное приведение типов - лишь одна из причин. другая заключается в том, что синтаксис вида: T v = arg;в принципе не всегда подходит. допустим есть класс, у которого единственный конструктор принимает два аргумента:
красиво ложится на общий синтаксис передачи аргументов. Добавлено через 43 секунды нет причин для таких вывертов.
0
|
|||||||||||||
|
Заблокирован
|
|||
| 22.04.2017, 18:22 [ТС] | |||
|
Но зачем такая форма нужна для переменных БАЗОВЫХ/ВСТРОЕННЫХ/АТОМАРНЫХ типов?
0
|
|||
|
Комп_Оратор)
|
||
| 22.04.2017, 18:53 | ||
Тa(b); можно было бы передавать и встроенные и пользовательские типы. Принцип равноправия. ИсмаилПркопенко, вообще, желание получить объяснение на пальцах это не вдохновляет. Если вы в чём-то (более-менее сложном) действительно спец, подумайте о том, как вы будете реагировать на заявление типа: -"Дядя, я тут не въехал и считаю что всё чушь. Растолкуй, но без терминов, на пальцах." ??
0
|
||
|
Заблокирован
|
||||
| 22.04.2017, 19:14 [ТС] | ||||
|
Согласитесь - это больше обнадёживает, чем Ваши слова? ![]() А ещё кто-то из великих (ЕМНИП физиков) сказал (дословно не помню - передаю общий смысл): если Вы не можете объяснить свою науку ребенку - значит Вы в ней НИХРЕНА не понимаете Добавлено через 2 минуты Существуют же учебники "физика для Хотелось бы что-то подобного для тех, кто интересуется программированием
0
|
||||
|
Комп_Оратор)
|
||||
| 22.04.2017, 19:26 | ||||
|
Добавлено через 7 минут
0
|
||||
|
Заблокирован
|
||
| 22.04.2017, 19:34 [ТС] | ||
|
IGPIGP, только не надо передёргивать и не надо пытаться СПЕЦИАЛЬНО замарачивать некоторые вещи, чтобы человек не мог в них разобраться а Вы бы потом (свысока) сказали: "не всем дано".
Я больше чем уверен, что программирование "ВСЕМ ДАНО". И что даже любую кухарку можно научить вполне прилично кодить. И я берусь это доказать. Для чего сначала в этой теме соберу понятные и простые ответы на самые сложные вопросы. По типу
А то программисты уже превращаются уже в какую-то секту, которые говорят только на им одним понятном языке. Надо с этим бороться Добавлено через 1 минуту Croessmah Не по теме: , научите как на этом форуме нормально процитировать сообщение? Добавлено через 57 секунд Не по теме: нажимаю "плюсик", он желтеет и ничего не происходит
0
|
||
| 22.04.2017, 19:34 | |
|
ОВЕН и др. Почему именно так измеряют??? Объясните почему работает именно так? Почему в примере инкремент вычитается именно так Обращение к массиву структур, почему именно так? Groovy Почему ObjectMapper работает именно так Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки.
Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён".
Изменено отображение буквы Й.
Добавлена. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|