История изменений
Исправление eao197, (текущая версия) :
С такими-то манёврами?
Ну давайте пойдем по второму кругу. Итак: «В некоторых случаях мы точно знаем, что в f всегда передается ненулевой указатель на B, а не на что-то другое. »
Как вы предлагаете выразить это знание в коде? Мой вариант такой:
void f(A *a) {
B & b = dynamic_cast<B &>(*a);
b.do_something();
}
Ваш вариант?
Мне представляется, что ты ни разу не занимался отладкой сколько-нибудь крупных программ, иначе бы не нёс такой чепухи.
Я уже признал, что у вас длиннее.
Или ты гарантируешь, что весь твой код 100% exception safe с точки зрения прикладной логики?
Дяденька, вы разработкой софта занимаетесь или измерением длины? Я, например, ни разу не видел кода, который бы что-то на 100% гарантировал. И более менее представляю, сколько стоит разработка более-менее надежного кода. Посему ваш вопрос, в лучшем случае, является риторическим.
Исходная версия eao197, :
С такими-то манёврами?
Ну давайте пойдем по второму кругу. Итак: «В некоторых случаях мы точно знаем, что в f всегда передается ненулевой указатель на B, а не на что-то другое. »
Как вы предлагаете выразить это знание в коде. Мой вариант такой:
void f(A *a) {
B & b = dynamic_cast<B &>(*a);
b.do_something();
}
Ваш вариант?
Мне представляется, что ты ни разу не занимался отладкой сколько-нибудь крупных программ, иначе бы не нёс такой чепухи.
Я уже признал, что у вас длиннее.
Или ты гарантируешь, что весь твой код 100% exception safe с точки зрения прикладной логики?
Дяденька, вы разработкой софта занимаетесь или измерением длины? Я, например, ни разу не видел кода, который бы что-то на 100% гарантировал. И более менее представляю, сколько стоит разработка более-менее надежного кода. Посему ваш вопрос, в лучшем случае, является риторическим.