Форум
Компьютерные священные войны
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, Marty, Вы писали: M>Здравствуйте, nekocoder, Вы писали: M>>>Указатель точно также может быть битым, и точно также ты его не проверишь на битость/не битость. N>>Претензия не к этому. Указатель в коде видно из-за другого синтаксиса, и от него знаешь чего ожидать. А ссылку нет. Когда ты разбираешься в куче чужого кода, это лишняя подножка. А когда в коде начинают использовать шаблоны с выводом аргументов и auto, то все становится еще веселее. M>Так-то всякие тупые касты в стиле чистой сишечки - это даже не подножка, а когда сбивают с ног и потом ногами еще хреначат то потери сознания. M>Я так понимаю, ты не осилил в шаблоны со всяким выводом и auto, а теперь, чтобы оправдаться перед собой, тупо называешь всё это "бесовщиной"? Ну-ну M>>>Легальными способами сделать нулевую ссылку нельзя N>>Да ладно, обычный дереференс нулевого указателя. M>Ну, это да, легально, подловил. Но попахивает каким-то говнецом в архитектуре. Мне такое даже и не припомню, когда нужно было делать. Если только из сишечки передать надо в плюплюшечку. Проверок не сделал? Ассёртов не расставил? Ну, может, таки сам дурак? Это раз. M>Два: по обращении по нулевому указателю чисто по коду ты точно также хрен поймешь, что и где попортилось. В рантайме - и так и так тебя выкинет по исключению, ты можешь зайти в отладку, и посмотреть, где проблема возникла, а также отследить стек вызовов. N>>[ccode] N>>int* a = nullptr; N>>int& b = *a; // такое на практике часто происходит когда у тебя указатель, а в функцию надо передать ссылку. N>>[/ccode] M>Ага, а еще можно регулярно шутить насчет самоубийства, с использованием табельного оружия, вынув магазин, но забыв проверить наличие патрона в стволе. Если сам дурак, то кто тебе доктор? M>ЗЫ Последние пару лет у нас прикупили PVS. На мой код она ругается часто: "condition is always false/true". Ну, как - часто - раз 10 на 100К кода, где-то, все эти места я знаю, там спецом так сделано. Раз в полгода, или даже раз в три месяца находятся реально баги
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …