The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Началось ограниченное бета-тестирование Duetto, компилятора ..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Началось ограниченное бета-тестирование Duetto, компилятора ..." +/
Сообщение от 0xd34df00d (??), 03-Окт-13, 15:58 
> О великий погромист объясни недалёкому человеку почему для определения "автоматически"
> определяемого возвращаемого типа в шаблонных функциях используется столь изящный синтаксис
> в котором сам погромист указывает как этот тип определить

Потому что в C++ система типов не позволяет прикрутить полноценный вывод типов типа Хиндли-Милнера в ML-подобных языках, а обсуждение реализации своего варианта еще затянуло бы принятие C++11. В C++14 ты, впрочем, сможешь написать что-то типа
template<...>
auto foo(...) -> decltype(auto)
{
    // произвольно сложное тело с произвольным количеством return'ов
}

> или почему
> функциям необходим constexpr для того чтобы определить результат во время компиляции?

Определить результат можно и не во время компиляции. constexpr просто дает компилятору понять, что ты требуешь, чтобы результат можно было определить во время компиляции. Если захочешь функцию в аргументах темплейтов юзать, например. Требовать этого от каждой функции — бред, а с раздельной компиляцией по функции невозможно сказать же, вычислена она в компилтайме или нет.

> И в конце концов почему у с++ такой гениальный и простой
> синтаксис для работы с шаблонами?

Что именно тебе не нравится?

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Началось ограниченное бета-тестирование Duetto, компилятора ..., opennews, 03-Окт-13, 12:26  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру