Кода других студентов под рукой нет — вот мое бинарное дерево. Заменив NULL на 0 простой заменой по файлу вроде никаких изменений нет, кроме утечек памяти, которые судя по всему и так должны быть. Надо бы исправить.
Конечно выбирает, ведь 0 === (int)0, а NULL = либо 0, а может nullptr
Если изменить f(0) на f(NULL) — компиляторы не сообразят какую из функций выбрать.
Конечно нет! И потому не согласен с тем, что NULL можно заменять в коде 0.
Что и как реализовано в языке в действительности — один вопрос. Области видимости в классах — важен только на этапе компиляции, однако позволяет не натворить глупостей.
И еще раз — потому надо разделять NULL и 0.
А что там должно не работать? Собственно ваш пример должен бы работать, в функцию же отправляется результат выражения, или я чего-то не понимаю?
А используется такое в переборе указателей в списках, деревьях и тд
В примере выше ваша функция принимала переменную, а не указатель. Мое, если можно так сказать возмущение как раз и было в том, что для чисел — использовать числа, а для указания пустоты — строки, или указателя, или возможно еще чего-то о чем я не знаю — NULL
Вот, кстати пример из статьи. Все знают, что while работает только с булевыми значениями, а значит все остальное внутри скобок приводится к булевому значению. Также все знают, что 1 == true.
Так почему же зная то, что NULL = 0 — стоит писать 0, а в циклах такая запись не естественна?
То что можно и видимо нужно — я понимаю. Не понимаю почему, ведь 0 — цифра, а NULL — пустота. В целом вопрос — почему нужно использовать 0, когда NULL понятнее?
PS то есть
for(int i=0; i<n; i++){}// ясно
node *temp = NULL// вот тут явно NULL яснее смотрится чем 0?
Как-то раз мой учитель математики доказал, с одной ошибкой, на которую позже указал, что гипотенуза прямоугольного треугольника может быть равна катету. Все идет от подмены понятий, в данном случае не стоит путать время и отображение происходящего. Свет также находится во времени и зависит от него, в данный момент он просто до нас не дошел. А значит якобы путешествие во времени — всего лишь мираж
Учусь в институте, на c++ только лабы и курсовые. Всегда думал, что правильнее использовать NULL, ибо 0 — цифра, NULL — скорее пустота. Даже в небольших лабах это дает повышение читабельности, зачем нужно использовать 0, если используется не c++11?
Если честно — не понимаю почему? Симфони поставляется скорее как компоненты, в удачной сборки, силекс — еще одна сборка, а есть и другие. Пока учусь — можно эксперементировать, думаю еще пропел попробовать прикрутить, там вроде тоже не сложно.
Почему? Я не мог разобраться с Symfony, узнал про Silex, стал в нем копаться. Через какое-то время опять взял Symfony — все гораздо понятнее, если вы об этом.
Ухты! Узнал о Sublime Web Inspector. Судя по видео — шикарная вещь. Никого не слушайте, собирайте дайджесты, выкладывайте, огромное спасибо за ваш труд.
Мы все привыкли к гибкости и свободе, которую он дает, и мы не хотим от нее отказываться. В то же время, мы хотим, чтобы он был молниеносным, и оказывается, что при достижении миллиона строк кода, поддержка столь гибкого языка становится проблемой.
Хотим рыбку съесть и косточкой не подавиться.
Что же последнее время все так всполошились из-за гибкости языков? Ну нельзя же создать идеальный яп, всегда будут какие-то минусы и какие-то плюсы. Всегда найдется яп над яп, который генерирует родительский яп при компиляции, и выглядит лучше.
Прочитал статью — стало интересно. Установил в sublime плагин. Подскажите, как настроить куда выдавать файл, а то сейчас открывается временный файл, с скомпилированным js
Не понятно зачем нужна кнопка «Close», когда " The Python Network" остается.
+ Кнопка меню почему-то перекидывает вниз. Как сказали ниже — новичков(меня на пример) такое поведение запутало
Если изменить f(0) на f(NULL) — компиляторы не сообразят какую из функций выбрать.
Что и как реализовано в языке в действительности — один вопрос. Области видимости в классах — важен только на этапе компиляции, однако позволяет не натворить глупостей.
И еще раз — потому надо разделять NULL и 0.
А используется такое в переборе указателей в списках, деревьях и тд
Вот, кстати пример из статьи. Все знают, что while работает только с булевыми значениями, а значит все остальное внутри скобок приводится к булевому значению. Также все знают, что 1 == true.
Так почему же зная то, что NULL = 0 — стоит писать 0, а в циклах такая запись не естественна?
Просто всегда бесило в коде знакомых студентов
Ну как указатель можно сравнивать с нулем? Это же логически не верно, пусть даже NULL на самом деле — 0.
PS то есть
Хотим рыбку съесть и косточкой не подавиться.
Что же последнее время все так всполошились из-за гибкости языков? Ну нельзя же создать идеальный яп, всегда будут какие-то минусы и какие-то плюсы. Всегда найдется яп над яп, который генерирует родительский яп при компиляции, и выглядит лучше.
+ Кнопка меню почему-то перекидывает вниз. Как сказали ниже — новичков(меня на пример) такое поведение запутало