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

Объяснить код - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти простые числа и занести их в новый массив http://www.cyberforum.ru/cpp-beginners/thread1542516.html
Реализовать 3 функции, каждая из которых принимает указатель на массив и количество элементов и возвращает указатель на новый массив. Первая функция ищет простые числа и заносит их в новый...
C++ Ошибка при определении переменной в switch case 2: // почасовые работники - фиксированная плата за 40ч, после 40ч полуторная ставка int workingNorm = 40; int hours; rate = 1.5; // ставка за сверхурочные часы cout << "Enter... http://www.cyberforum.ru/cpp-beginners/thread1542515.html
Странная инициализация, объясните код C++
Встретил такой код: int x = (3, 2 , 5 , 4 ); std::cout<<x;//4 Вопросы: -как это называться; -зачем; -что происходит в этом случае; Спасибо!
C++ Как сравнить элемент массива с другими элементами этого же по значению?
Здравствуйте, мне нужно сравнить определенный элемент массива с другими элементами по значению. К примеру дан массив чисел. Мне нужно сравнить его элемент по значению. То есть встречаются ли в нем...
C++ Вывести порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается http://www.cyberforum.ru/cpp-beginners/thread1542491.html
как вывести на экран порядковый номер слова максимальной длины и номер позиции в строке, с которой оно начинается ?
C++ Не выходит открыть второй файл Ниже представлена часть программы, все выполняется правильно, но мне необходимо повторить все то же самое с другим файлом и записать данные в другие массивы,естественно пытаясь сделать это путем... подробнее

Показать сообщение отдельно
Operok
172 / 170 / 46
Регистрация: 15.02.2015
Сообщений: 492
Завершенные тесты: 2
02.10.2015, 10:31
Цитата Сообщение от hoggy Посмотреть сообщение
в промышленной версии фигурирует один единственные параметр - тип контейнера.
все остальные типы выводятся из него.
Уверенность в том, что на практике будет использоваться "правильные типы" не может не радовать. Но мне не нравится, когда на конечного пользователя "библиотеки" возлагают подобный выбор. Да он не сможет запихать туда левый тип, но ругаться на подобное уже будет компилятор, а синтаксический анализатор. Однако, если в "мою версию" передать объект некоторого шаблонно класса (не STL контейнера) "<typename T, typename Al = std::allocator<T>>", то ругаться тоже будет компилятор на несуществующие метода/поля шаблонного типа. Поэтому соглашусь, не очень-то он и лучше, но зато сразу видны ограничения для передаваемого параметра "нужен контейнер (если давать понятные имена шаблонным типам) для типа std::string".
Цитата Сообщение от hoggy Посмотреть сообщение
что позволяет запихивать, как вектора, так и листы,
как char`овые стринги, так и wchar_t`вые.
все эти контейнеры подходят под шаблонный тип "<template <typename = std::string, typename = std::allicator<std::string>> class ContainerT>". А вот контейнер для wstring передать туда опять не получится, конструктор "value_type(str.data() + lastPos, (size_type)pos - lastPos)", где str - это std::string, не поддерживается. Тут наверное нужно добавить шаблонный параметр <typename CharT> и передавать std::basic_string<CharT> как делимую строку, так и разделитель.

В общем, как мне кажется, это уже обсуждение стилей метапрограммирования. "шаблонные шаблонные параметры" сильнее ограничивают выбор типа в пользу STL контейнера, но очень громоздкие (этой проблеме посвящается), указание обобщенного шаблонного типа выглядит более лаконично и просто, но требуют некоторых комментарий и пояснений по её использованию.

Не по теме:

Цитата Сообщение от hoggy Посмотреть сообщение
компилятор сообщит вам прямым английским текстом.
поставил студию 2015... русифицированную... теперь компилятор сообщает мне всё прямым русским текстом

0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru