Russian Qt Forum
Ноябрь 22, 2024, 18:18
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
С/C++
>
Протаскивание большой структуры через череду return
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Протаскивание большой структуры через череду return (Прочитано 10292 раз)
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Протаскивание большой структуры через череду return
«
Ответ #15 :
Июль 12, 2016, 12:57 »
Цитата: Racheengel от Июль 12, 2016, 12:53
Например, как то так:
Это ваша идея, сейчас так нельзя.
Я лишь не разделяю мнение, что возврат структуры по не константной ссылке хорошее решение.
Хотя, сам иногда его использую. Я бы сказал, что это просто, но не хорошо.
«
Последнее редактирование: Июль 12, 2016, 13:06 от Old
»
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Протаскивание большой структуры через череду return
«
Ответ #16 :
Июль 12, 2016, 13:07 »
Конечно, но это идея не моя, а товарища Вирта и компании, которые придумали Паскаль в 1970
И, честно говоря, я не услышал, почему это хуже, чем еще один типа конструктора
Offtop: Я слышал несколько раз мнения людей, которые довольно глубоко связаны с C++ и новым стандартов, по поводу новшеств - и они говорят, что язык просто искуственно подготавливают к вымиранию, т.к. в итоге он превратится в неподдерживаемую кашу и возникнет необходимость более гибкой и прозрачной, но в то же время производительной альтернативы.
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Протаскивание большой структуры через череду return
«
Ответ #17 :
Июль 12, 2016, 13:17 »
Цитата: Racheengel от Июль 12, 2016, 13:07
И, честно говоря, я не услышал, почему это хуже, чем еще один типа конструктора
Если вы про свою идею, то я пока не очень ее обдумывал, что бы сформировалось мнение. Если вы про возврат через ссылку, то я выше привел пример.
Цитата: Racheengel от Июль 12, 2016, 13:07
Offtop: Я слышал несколько раз мнения людей, которые довольно глубоко связаны с C++ и новым стандартов, по поводу новшеств - и они говорят, что язык просто искуственно подготавливают к вымиранию, т.к. в итоге он превратится в неподдерживаемую кашу и возникнет необходимость более гибкой и прозрачной, но в то же время производительной альтернативы.
Каждый имеет право на свое мнение. Сколько людей - столько и мнений.
Я тоже не использую все, что появилось в новом стандарте. Что то у меня прижилось, что-то нет. Но я не считаю, что все что у меня не прижилось - фигня, которую нужно срочно из стандарта убирать.
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Протаскивание большой структуры через череду return
«
Ответ #18 :
Июль 12, 2016, 14:34 »
Цитата: Old от Июль 12, 2016, 13:17
Если вы про возврат через ссылку, то я выше привел пример.
А чем приведенный пример противоречит идее возврата через ссылку?
Я привел вариант, как это могло бы быть использовано
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Протаскивание большой структуры через череду return
«
Ответ #19 :
Июль 12, 2016, 14:48 »
Цитата: Racheengel от Июль 12, 2016, 14:34
А чем приведенный пример противоречит идее возврата через ссылку?
Я привел вариант, как это могло бы быть использовано
Тем, что могут быть классы, объекты которых не удастся создать в вызывающей функции.
Записан
ssoft
Программист
Offline
Сообщений: 584
Re: Протаскивание большой структуры через череду return
«
Ответ #20 :
Июль 13, 2016, 08:47 »
std::move семантика предназначена не только для оптимизации возврата значений из методов, для языка программирования она имеет больше фундаментальное значение, связанное с модельным понятием агрегации (это очень большая тема, поэтому не буду расписывать). Развитие семантики связано с объективными причинами ограниченности языка, каждое нововведение имеет теоретическое и практическое обоснование. Если разработчик считает, что оно ему не надо, то он может их и не использовать.
Записан
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Протаскивание большой структуры через череду return
«
Ответ #21 :
Июль 13, 2016, 10:34 »
Цитата: ssoft от Июль 13, 2016, 08:47
std::move семантика предназначена не только для оптимизации возврата значений из методов, для языка программирования она имеет больше фундаментальное значение, связанное с модельным понятием агрегации (это очень большая тема, поэтому не буду расписывать). Развитие семантики связано с объективными причинами ограниченности языка, каждое нововведение имеет теоретическое и практическое обоснование. Если разработчик считает, что оно ему не надо, то он может их и не использовать.
Обосновать при желании можно все, даже goto
Любой костыль можно объявить фичей и пропихнуть в стандарт, но костылем от этого оно быть не перестанет.
Думайте проще - разработчику надо решить задачу с минимальными затратами в минимальный срок, причем другие разработчики должны понять потом, что же было сделано. Итого - чем проще и прозрачнее синтаксис - тем лучше. Sugar на то и sugar
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Racheengel
Джедай : наставник для всех
Offline
Сообщений: 2679
Я работал с дискетам 5.25 :(
Re: Протаскивание большой структуры через череду return
«
Ответ #22 :
Июль 13, 2016, 10:35 »
Цитата: Old от Июль 12, 2016, 14:48
Тем, что могут быть классы, объекты которых не удастся создать в вызывающей функции.
Но я же, вроде, написал, как можно бы было это обойти
Записан
What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.
COVID не волк, в лес не уйдёт
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...