Russian Qt Forum
Май 21, 2024, 13:22 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 ... 9 10 [11] 12 13 ... 16   Вниз
  Печать  
Автор Тема: Приватные методы  (Прочитано 98039 раз)
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #150 : Октябрь 01, 2015, 14:26 »

Очень безопасно.
Так а что не так?
list_of можно использовать со всем, что умеет MySuperClass( InputIt first, InputIt last ), т.е. со всем, что может получать какие-то серии элементов.
Например, std::pair
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #151 : Октябрь 01, 2015, 14:47 »

Например, std::pair
Можно чуть подробней.
Не очень понимаю в чем проблема. Вы говорите о том, что можно определить pair с двумя итератора и присвоить этой переменной результат list_of?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #152 : Октябрь 01, 2015, 15:09 »

Old
Ну типа если у нас пара, скажем, указателей, то это 1 в 1 удовлетворяет сигнатуре необходимой.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #153 : Октябрь 01, 2015, 15:26 »

Old
Ну типа если у нас пара, скажем, указателей, то это 1 в 1 удовлетворяет сигнатуре необходимой.
Ну тогда не взлетит. Улыбающийся
Но в C++ очень много подобных возможностей и без буста. Улыбающийся
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #154 : Октябрь 01, 2015, 15:42 »

Ну тогда не взлетит. Улыбающийся
Но в C++ очень много подобных возможностей и без буста. Улыбающийся

Ну нет же, никто в здравом уме не будет писать шаблонный implicit operator T. Где вы в std:: такое видели? Даже оператор bool помечают explicit.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #155 : Октябрь 01, 2015, 15:45 »

Ну нет же, никто в здравом уме не будет писать шаблонный implicit operator T. Где вы в std:: такое видели? Даже оператор bool помечают explicit.
Я говорил в общем. Так сказать, обо всех возможностях С++ отстрелить себе ногу по самые помидоры. Улыбающийся
Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #156 : Октябрь 01, 2015, 22:23 »

Ну тут уже дважды нарушено правило - не перегружать операторы без необходимости. ования?

в задницу ваши правила, если решение простое и удобное.
правила ради правил что ли?
Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #157 : Октябрь 01, 2015, 22:27 »

Понимаете ли... Оправдывать плохой дизайн

вы чего то фантазируете.

у туплей не просто отличный дизайн.
он практичен.

это оценит каждый, кто столкнется с потребностью в туплях.

критерии ваших же оценок - совершенно не очевидны.
однако есть предположение,
что вы туплями никогда на практике не пользовались.

метапрограммингом не владеете.
Записан
_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #158 : Октябрь 01, 2015, 22:30 »

Это ж тупейшая зубрежка - и ничего более.
Конечно. Это исходники буста, зачем туда лезть без дела? А тем более что-то зазубривать? Улыбающийся
boost можно использовать не зная всех этих подробностей.

ну хоть один здравомыслящий человек в теме.

что бы пользоваться, вовсе не обязательно вникать в детали.
это называется "грамотная инкапсуляция".

конечно, быдлокодерам, которые не понимают, зачем нужен private,
этого не понять.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #159 : Октябрь 02, 2015, 01:58 »

у туплей не просто отличный дизайн.
он практичен.

это оценит каждый, кто столкнется с потребностью в туплях.

Давайте не говорить за всех. А то гугу получается.

Цитировать
метапрограммингом не владеете.

Секта Одного Румына?

Цитировать
конечно, быдлокодерам, которые не понимают, зачем нужен private,
этого не понять.

Небось, на грузовом лифте ездить приходится?  Смеющийся

Записан

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 не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #160 : Октябрь 02, 2015, 06:18 »

у туплей не просто отличный дизайн.
он практичен.

это оценит каждый, кто столкнется с потребностью в туплях.
Хотелось бы увидеть пример где выгоды (весьма) ощутимы. Спасибо
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #161 : Октябрь 02, 2015, 08:21 »

Понимаете ли... Оправдывать плохой дизайн

вы чего то фантазируете.

у туплей не просто отличный дизайн.
он практичен.

это оценит каждый, кто столкнется с потребностью в туплях.

критерии ваших же оценок - совершенно не очевидны.
однако есть предположение,
что вы туплями никогда на практике не пользовались.

метапрограммингом не владеете.

А что за "тупли"?
Записан

_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #162 : Октябрь 02, 2015, 09:59 »

у туплей не просто отличный дизайн.
он практичен.

это оценит каждый, кто столкнется с потребностью в туплях.
Хотелось бы увидеть пример где выгоды (весьма) ощутимы. Спасибо



первое что пришло в голову из личной практики:
с++03, вариадик шаблонов ещё нет.

Код:
// --- отправка сообщений подписчикам
// через систему сообщений
SendMessage(10)("hello")("world")();

под капотом SendMessage в статике генерируется тупль.
и уже в виде тупля он доставляется подписчикам.
что бы прочитать сообщение,
от подписчика требуется лишь уметь принимать тупель
с определенным набором  типов полей.

и не нужно изобретать на каждый чих отдельные структуры,
наследовать их от каких то интерфейсов, и тп.



другой пример:
это из библиотеки libpqxx
если не в курсе: библиотека для работы с серверами базы данных PostgreSQL.
поставляется разработчиками самого постгре.

делаем запрос в базу, получаем некую выборку - таблицу.

тупель здесь (в старых версиях использовался boost::tuple, в новых - std::tuple),
используется как основа для построения вариативного механизма.

дизайн примерно следующий:

Код:
тупель строка = result[столбец];

auto id = строка["id"];
auto name = строка["name"];

ещё один пример:

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

Код:
void foo(int,const char*);
...

auto delegate = std::bind(foo, 10, "hello"); //<--- запоминаем функцию и  аргументы

delegate(); //<--- не указываем аргументы, мы их итак уже запомнили
// вызов эквивалентен: foo(10, "hello");

std::bind умеет биндить любые функции с любым количеством любых аргументов.
и вот как прикажите ему запоминать списки аргументов?

я сам лично делал собственные велосипеды-делегаты,
и там столкнувшись с этой проблемой,
естественным способом вывел велосипедный-тупель.

других вариантов просто нет.


---------------------------------------------------------------------------

резюмируя:

предназначения тупля - генерация произвольной структуры,
содержащей поля разных типов.

область применения тупля - получение,хранение,транспортировка
входных данных различных типов.

киллер-фича туплей - диагностика ошибок времени компиляции.
« Последнее редактирование: Октябрь 02, 2015, 10:19 от _Bers » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #163 : Октябрь 02, 2015, 10:04 »

Понимаете ли... Оправдывать плохой дизайн

вы чего то фантазируете.

у туплей не просто отличный дизайн.
он практичен.

это оценит каждый, кто столкнется с потребностью в туплях.

критерии ваших же оценок - совершенно не очевидны.
однако есть предположение,
что вы туплями никогда на практике не пользовались.

метапрограммингом не владеете.

А что за "тупли"?

тупль... tuple... кортеж, же! Улыбающийся
Записан

_Bers
Бывалый
*****
Offline Offline

Сообщений: 486


Просмотр профиля
« Ответ #164 : Октябрь 02, 2015, 10:17 »

Цитировать
А что за "тупли"?

тупль... tuple... кортеж, же! Улыбающийся

см #139
Записан
Страниц: 1 ... 9 10 [11] 12 13 ... 16   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.072 секунд. Запросов: 23.