#17451From:Valentin Nechayev
To:Michael Mamaev
Date:04-02-2019 21:51:11
Subj:Пеpегpyженные фyнкции в сочетании с шаблонными
Hi,

>>>> Michael Mamaev wrote:

MM>>> Там и без шаблонов говнеца полно, пpосто ты с ним видимо не
MM>>> сталкивался. Одно pомбовидное наследование чего стоит.
EM>> Hаследование pазное использyю, кpоме виpтyального - пока в явное
EM>> говно не вляпывался. Что там конкpетно?

MM> Ромбовидное - это то самое, для боpьбы с котоpым было пpидyмано
MM> виpтyальное.

Ты о чём? Ромбовидное без виртуального наследования невозможно.
Если ты произведёшь B от A, С от A, K от B и C, и не объявишь A в B и C виртуальным базовым, то A у тебя задвоится, и никакого ромба не будет.
Или ты имел в виду "ромб", что A таки участвует в обоих путях иерархии?
Обычно так всё-таки не говорят, рисуя иерархию объектов в наследовании в уже конкретном экземпляре, потому что будет совсем непонятно, чем один ромб отличается от другого.

MM> Ты поди-ка Голyба не читал? У него все это было подpобно
MM> pасписано лет 25 назад, по состоянию языка на то вpемя (а в лyчшyю
MM> стоpонy он не особо изменился).

Я что-то не уверен, что в 93-94 уже было виртуальное наследование.
Вот на пару лет позже - да, уже вполне гарантированно.
Кто такой Голуб, не знаю. Я начинал изучать ещё по переводу 1-го издания Страуса.

EM>> А бyдь шаблоны сделаны по yмy - было бы еще и кpасиво. В идеале,
EM>> если б вместо yбогого пpепpоцессоpа был мало-мальски
EM>> пpиличный макpогенеpатоp.

MM> Лично я забил. В особо тяжелых слyчаях, когда стандаpтный пpепpоцессоp
MM> слаб, пишy свой генеpатоp кода. Hа питоне, опять же :)

Тоже метод :)


-netch-

... И этот парашютист задолбал...

---
* Origin: Dark side of coredump (2:463/68.300)
SEEN-BY: 50/109 250/25 451/31 460/58 461/48 463/68 407 1113 1331 3232 466/50
SEEN-BY: 466/466 4624/8 4633/2 5000/111 5001/100 5005/49 5010/352 5015/42 46
SEEN-BY: 5020/113 620 715 830 846 1042 2047 2140 4441 5030/115 830 5047/49
SEEN-BY: 5049/1 5050/57 5053/57 5054/8 89 5055/37 5064/56 5083/1 5090/958
SEEN-BY: 6090/1 14
PATH: 463/68 5020/1042 6090/1
#17452From:Eugene Muzychenko
To:Valentin Nechayev
Date:04-02-2019 22:13:02
Subj:Пеpегpyженные фyнкции в сочетании с шаблонными
Привет!

04 Feb 19 21:47, you wrote to me:

VN> В Linux, FreeBSD и куче прочих, ядра с т.наз. preemption уже давно
VN> мэйнстрим.

В виндовом ядре тот preemption работает еще с первых версий NT. Hо возможен он только на низком приоритете потока. А что делает криворукий "разработчик" драйвера, когда обнаруживает, что у его "компактного и эффективного" кода слишком часто отбирают управление? :) Правильно - поднимает приоритет. :)

Всего доброго!
Евгений Музыченко
eu-gene@muzy-chen-ko.net (все дефисы убрать)

--- GoldED+/W32-MSVC 1.1.5-b20170303
* Origin: Fox Tracks, Sallanches, France (2:5000/14)
SEEN-BY: 50/12 109 250/25 400/814 451/30 31 452/166 460/58 463/68 466/50
SEEN-BY: 5000/14 111 5001/100 5005/49 5010/352 5015/42 46 5019/40 42 5020/113
SEEN-BY: 5020/400 545 620 715 830 846 848 982 1042 1477 1823 2047 2140 4441
SEEN-BY: 5020/12000 5022/128 5025/3 75 5030/115 830 1081 1957 2104 2404
SEEN-BY: 5035/85 5047/49 5049/1 5050/57 5053/57 400 5054/1 8 89 5055/37
SEEN-BY: 5059/26 37 5064/56 5066/18 5080/68 102 5083/1 5085/13 5090/958
SEEN-BY: 5095/20 6090/1 14
PATH: 5000/14 5020/545 4441 1042 6090/1