- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
template <typename Derived>
class Base {
public:
void doSmth() {
// ...
static_cast<Derived*>(this)->OnParseAndHandle();
//...
}
};
class MyClass: public Base<MyClass> {
public:
void OnParseAndHandle() {
// ...
}
};
bormand 26.01.2013 10:14 # +7
Плюсы по сравнению с виртуальными методами - нет оверхеда в рантайме, можно применять и к статическими методам.
Минусы - не может выбирать нужный метод в рантайме, и немного странно смотрится.
benderlog 26.01.2013 10:24 # 0
таки и есть, что я идиот и не понял
LispGovno 26.01.2013 10:34 # 0
defecate-plusplus 26.01.2013 10:42 # 0
а множественное наследование (ты же это имел в виду?) создаст проблемы не всегда, но об этом неплохо бы знать, да
LispGovno 26.01.2013 10:52 # 0
Я имею ввиду вот это:
>стасик здесь стоит как раз за тем, чтобы время сэкономить
Так точно, капитан! assert ещё ни кому не мешал экономить время
LispGovno 26.01.2013 10:59 # 0
defecate-plusplus 26.01.2013 11:29 # +2
компилятор корректно пересчитывает this при даункасте
про ассерт понятно
Xom94ok 26.01.2013 15:09 # +1
bormand 26.01.2013 15:26 # +3
Ты хуй! [1][2]
1) http://lurkmore.to/%D0%A2%D1%8B_%D1%85%D1%83%D0%B9
2) http://ru.wikipedia.org/wiki/%D0%A5%D1%83%D0%B9
А что... по крайней мере это выглядит серьезно и научно.
P.S. Никогда не любил составлять списки использованной литературы в универе, т.к. была проблема - эту самую литературу я почти не использовал, а ссылки у нас не особо любили.
LispGovno 26.01.2013 15:40 # +2
ноу вэй
bormand 26.01.2013 15:52 # +1
1) http://www.urbandictionary.com/define.php?term=no%20way
2) http://lurkmore.to/%D0%9D%D0%B5%D1%82_%D0%BF%D1%83%D1%82%D0 %B8
LispGovno 26.01.2013 15:59 # −2
Ты меня убедил
bormand 26.01.2013 16:05 # +1
Опять забыл список литературы[1]?
1) http://narfu.ru/agtu/www.agtu.ru/fad08f5ab5ca9486942a52596ba6582elit.html
TarasB 26.01.2013 12:09 # −2
bormand 26.01.2013 13:00 # +3
Lure Of Chaos 26.01.2013 17:35 # −1
scriptin 26.01.2013 17:51 # +1
LispGovno 26.01.2013 17:54 # +1
bormand 26.01.2013 18:32 # 0
Lure Of Chaos 26.01.2013 18:33 # +1
roman-kashitsyn 26.01.2013 18:41 # +1
TarasB 26.01.2013 18:41 # +3
LispGovno 26.01.2013 18:43 # 0
bormand 26.01.2013 18:51 # +5
TarasB 26.01.2013 20:12 # +6
3.14159265 29.01.2013 17:48 # +3
Фу, Тарас. Как тебе не стыдно.
И поцеловал он жабу, но превратилась она не в красавицу-принцессу, а в страшную стерву-крестоблядь.
И жили они долго, но несчастливо - с постоянным непониманием и багами.
И подумал кодер: "Уж лучше б осталась ты жабой".
После свежих откровений С++11 предсказуемая, читабельно-унылая жаба смотрится куда лучше.
bormand 26.01.2013 18:43 # 0
roman-kashitsyn 29.01.2013 12:42 # 0
LispGovno 29.01.2013 13:03 # +1
Конкретно по тому что ты сделал смотри boost::operators и std::rel_ops
scriptin 29.01.2013 15:46 # +1
roman-kashitsyn 29.01.2013 16:11 # +4