Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Как заставить компилятор не компилить неправильную программу? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача страуструпа: Измените программу так, чтобы она выводила числа, которые почти равны друг другу http://www.cyberforum.ru/cpp-beginners/thread749576.html
Есть программа #include <iostream> using namespace std; int main () { double val_1 = 0.0;
C++ Дан массив из 10 элементов (заполнить вручную). Найти все четные элементы массива находящиеся на нечетных местах Дан массив из 10 элементов (заполнить вручную). Найти все четные элементы массива находящиеся на нечетных местах. В случае отсутствия таких элементов вывести на экран надпись: «These elements are... http://www.cyberforum.ru/cpp-beginners/thread749571.html
C++ Поиск подстроки в строке(алгоритм Бойера-Мура)
Программа находит шаблоны в строке алгоритмом Бойера-Мура и находить должна в строке которая находится в файле. Сам код работает и находит все как надо, кроме разве что того, что если в строке есть...
Нужен совет: Какую библиотетеку подключить, чтобы в консоли русские символы были C++
Какую библиотетеку подключить что бы в консоли русские символы были ?
C++ Файл в vector<int> http://www.cyberforum.ru/cpp-beginners/thread749551.html
Как более удачно записать файл в вектор. С помощью чего открыт файл не имеет значения. Заранее спасибо.
C++ В массиве целых чисел из 20 элементов найти все элементы, значение которых больше среднего арифметического массива В массиве целых чисел из 20 элементов найти все элементы, значение которых больше среднего арифметического массива. Вывести на кран значения и позиции этих элементов. Подскажите, пожалуйста, как... подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
31.12.2012, 11:20
Да они тоже не особо альтернатива. Но они могут обломать компиляцию, если значение не подходит. Просто для int_<8>-то хватит и примитивного #define I(v) int_<v>(), но не для более сложных объектов, где пригодится гарантированно compile-time constexpr, но не с таким сногсшибательным синтаксисом как у темплейтов. Это даже могут быть не макросы, а именно просто compile-time-only constexpr (кодогенерацию при компиляции мейнстрим чё-то пока не заценил).

Но вопрос "на кой хрен" остаётся в силе. Конечно, можно сделать так, чтобы писать Constrained<int, Or<InRange<2, 42>, Not<Even>, Equals<67, 98>>, но ведь проблему зависимости типов это не решит. Эту хрень можно будет гарантированно скастовать только к инту. Остальные касты будут выполняться вместе с проверками в рантайме, а значит, особо нет толку от написания всех ограничений на шаблонах (которые как бы намекают, что проверки на валидность кастов должны выполняться лишь при компиляции), если всё равно 99% проверок будут выполняться в рантайме.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru