Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
Не компилируется. Скажите, плиз, я что-то не правильно делаю или я многого хочу? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Почему так происходит догадаться вроде не сложно. Базовый класс инстанцируется до компиляции класса наследника. Но мне почему-то казалось, что компилироваться должно. :) С трудом себе представляю зачем такой паттерн тогда нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 15:21 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
petravПочему так происходит догадаться вроде не сложно. Базовый класс инстанцируется до компиляции класса наследника. Это не совсем так. Или совсем не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 15:38 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
MasterZiv, А поподробнее, пожалуйста? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 15:55 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 16:01 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
petravMasterZiv, А поподробнее, пожалуйста? Базовый класс инстанцируется во время компиляции класса наследника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 16:13 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky, Спасибо. Наверное, по вашей ссылке, type traits от класса Derived тут будет лучшим выбором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 16:59 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
petravПочему так происходит догадаться вроде не сложно. Базовый класс инстанцируется до компиляции класса наследника. Но мне почему-то казалось, что компилироваться должно. :) С трудом себе представляю зачем такой паттерн тогда нужен. Я вот сегодня читал на хабре про PODAM и представил себе что такая система будет генерировать случайные С++ сорсы полностью в соответствии с правилами Language да + еще и добавлять туда немного наследования с мета-программингом. Эта система в считанные секунды нагенерит нам OVER 9000 топиков в С++ и покроет нам весь свободный досуг разбором "странного кода" аж до 2050 года. Мы поднатореем в анализе - но какой будет в этом толк? Ведь платят разработчику 99% за синтез новых решений а не за анализ шумящего кода. Не так ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 18:49 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
maytonМы поднатореем в анализе - но какой будет в этом толк? Ведь платят разработчику 99% за синтез новых решений а не за анализ шумящего кода. Не так ли? Это приглашение к пятнично-философским рассуждениям? Или я опять ничего не понял? Если Вы намекаете на мою попытку строить "обобщенную теорию всего" и, вообще, нужно быть попроще. То, мне кажется, я задал очень простой и полезный (с точки зрения практики) вопрос. Мне было даже стыдно. :) PS: Статью по линку не читал. Там что-то про авто генерацию юнит-тестов? Кстати, где-то слышал что Google Chrome тестируется на огромном кластере компов подачей на вход случайных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 19:36 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
petravКстати, где-то слышал что Google Chrome тестируется на огромном кластере компов подачей на вход случайных данных. Поэтому все баги проявляются на неслучайных данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 19:38 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
petravЕсли Вы намекаете на мою попытку строить "обобщенную теорию всего" и, вообще, нужно быть попроще. То, мне кажется, я задал очень простой и полезный (с точки зрения практики) вопрос. Мне было даже стыдно. :) А в чем была для вас простота и полезность приводимого исходника? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 19:40 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
maytonА в чем была для вас простота и полезность приводимого исходника? Простота в том, что это действительно просто. Ну, по сравнению с Александреску. :) Полезность в текущей задаче. Да, можно было бы, вместо пропихивания в базовый класс перечисления (enum) из класса наследника... Можно было в базовом классе просто использовать int. Но это не красиво и нарушает безопасность типов. А новомодный enum class не приводится к int по умолчанию. И вообще, по стандарту enum это совсем не int. А вообще, это часть разработки. Множество классов реализующих конечные автоматы. Enum - это состояние КА. Нужно разработать базовый класс для протоколирования переходов между состояниями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 19:53 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskypetravКстати, где-то слышал что Google Chrome тестируется на огромном кластере компов подачей на вход случайных данных. Поэтому все баги проявляются на неслучайных данных Не могу рассуждать про оправданность такого тестирование Google Chrome. А вот по тестированию Internet Explorer читал, что тоже огромный кластер тестирует IE эмулируя разные условия работы сети (медленно, быстро, со сбоями etc). Меня тут удивляет, что Firefox хороший браузер, но не думаю что в его автоматическое тестирование вкладываются миллионы (десятки, сотни?) миллионов долларов в год. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 20:01 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
petravmaytonА в чем была для вас простота и полезность приводимого исходника? Простота в том, что это действительно просто. Ну, по сравнению с Александреску. :) Полезность в текущей задаче. Да, можно было бы, вместо пропихивания в базовый класс перечисления (enum) из класса наследника... Можно было в базовом классе просто использовать int. Но это не красиво и нарушает безопасность типов. А новомодный enum class не приводится к int по умолчанию. И вообще, по стандарту enum это совсем не int. А вообще, это часть разработки. Множество классов реализующих конечные автоматы. Enum - это состояние КА. Нужно разработать базовый класс для протоколирования переходов между состояниями. Тоесть простой рефакторинг enum->int убирает из твоего кода аж целую сущность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 20:06 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
maytonТоесть простой рефакторинг enum->int убирает из твоего кода аж целую сущность? Не совсем верно, но ответ: этот рефакторинг убрал бы обсуждаемую проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 20:15 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
petravmaytonТоесть простой рефакторинг enum->int убирает из твоего кода аж целую сущность? Не совсем верно, но ответ: этот рефакторинг убрал бы обсуждаемую проблему. Так убирай. Следуй принципу KISS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 20:22 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
mayton, Я много читал ваших постов. Не только в этой ветке. Мне кажется, что Вы сами не следуете принципу KISS. Просто почему-то, в данной ситуации Вам не нравятся шаблоны C++. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 20:48 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
Я никогда не был против мета-програмирования. Это рабочий паттерн. Но чем больше аргументов у специалиста в пользу упрощения кода (в частности чем меньше он вводит сущностей для решения задачи) - тем выше его seniority level. Я так думаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 21:19 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
maytonЯ никогда не был против мета-програмирования. Это рабочий паттерн. Но чем больше аргументов у специалиста в пользу упрощения кода (в частности чем меньше он вводит сущностей для решения задачи) - тем выше его seniority level. Есть другое жизненное наблюдение. Это я не про Вас. Чем больше у дилетанта аргументов в пользу упрощения кода, тем менее он квалифицирован — даже на решение банальных задач. При этом дилетант упрощением кода маскирует свою безграмотность и полное наплевательство на результаты своего труда. Учиться не желает ничему, да и не может. Но он выставляет всю свою простоту… как свой уровень высокого профессионализма, которому следует подражать молодым разработчикам. maytonЯ так думаю. Вы думаете так исключительно со своей позиции, а не с "позиции высоты птичьего полета". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 21:36 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
Извини. Я забыл что к каждому своему посту подразумевается ИМХО. Вобщем KISS IMHO. И не болей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 21:43 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
maytonИ не болей. Ну раз от Вас пошла такая риторика, то я надеюсь, что не обидел Вас ничем и не провоцировал. Если что — извините. Закончим разговор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2015, 21:48 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
Без помощи этой идиомы (Curiously recurring template pattern) типобезопасная реализация многих видов смартуказателей и контейнеров (как минимум) была бы невозможной или сложной. Поэтому затронутая проблема с ограниченностью ее применения вполне важна. И решаться она конечно же не должна за счет жертвования типобезопасностью. Потому что сама эта идиома вводилась в первую очередь ради этой безопасности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2015, 00:31 |
|
||
|
Паттерн `Curiously recurring template pattern`
|
|||
|---|---|---|---|
|
#18+
petravmaytonА в чем была для вас простота и полезность приводимого исходника? Простота в том, что это действительно просто. Ну, по сравнению с Александреску. :) Полезность в текущей задаче. Да, можно было бы, вместо пропихивания в базовый класс перечисления (enum) из класса наследника... Можно было в базовом классе просто использовать int. Но это не красиво и нарушает безопасность типов. А новомодный enum class не приводится к int по умолчанию. И вообще, по стандарту enum это совсем не int. А вообще, это часть разработки. Множество классов реализующих конечные автоматы. Enum - это состояние КА. Нужно разработать базовый класс для протоколирования переходов между состояниями. Коряво. Я бы имплементировал автомат как таблицу. Тогда код - это имплементация абстрактного автомата. И ненужно никаких захардкоденных состояний в енумах. И тем более выноса состояний автомата на мета уровень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2015, 00:38 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38933584&tid=2019034]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
68ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 282ms |
| total: | 454ms |

| 0 / 0 |
