В C++ (gcc, VS) NULL, которую рассматривают тем же как Ложь. Или что еще более важно если в логическом операторе, к чему оценивает ПУСТОЙ УКАЗАТЕЛЬ. Было много других вопросов, но ни один для C++ конкретно.
По некоторым причинам цикличное выполнение с ПУСТЫМ управлением для (; ;) просто замерзает программа, указывающая, что существует что-то другое, чем ПУСТОЙ УКАЗАТЕЛЬ, помещенный между;;. обратите внимание, что этот код - что-то, чему наш преподаватель верит для содержания Нулевых значений.
$("document").ready({
$("ul.galleria li:first-child img").click(function(){alert('i work click triggered'});
});
$("document").ready(function() {
$("ul.galleria li:first-child img").trigger('click');
});
просто убедитесь, что обработчик щелчка добавлен до события триггера в последовательности стека вызовов.
$("document").ready(function() {
$("ul.galleria li:first-child img").trigger('click');
});
$("document").ready({
$("ul.galleria li:first-child img").click(function(){alert('i fail click triggered'});
});
-121--1097430- Кажется, что вы рассматриваете следующий код:
for (;;) { }
Это будет закольцовываться навсегда, потому что условие является пустым. У вас может возникнуть соблазн сослаться на это как на нулевое условие , указывающее на то, что условия отсутствуют, но как вы и все остальные, кто прочитал ваш вопрос, можете подтвердить, что это запутанная фраза, потому что это не означает то же самое, что и это:
for ( ; NULL; ) { }
Выше не будет закольцовываться вообще. Он использует макрос NULL
, который эквивалентен целочисленной константе ноль, и ноль в логическом контексте обрабатывается как ложь. Это не «нулевое условие», потому что там является условием - условием, которое всегда ложно.
Если вы получили это от вашего профессора, и он преподает класс на C++, то я подозреваю, что вы неправильно поняли его, потому что я бы не ожидал, что профессор ошибется, так что попросите его заполнить дыру в ваших заметках. Если он не профессор C++, то, возможно, он просто попытался использовать пример C++, чтобы проиллюстрировать какую-то другую тему. Вы можете отправить ему записку об этом, чтобы он мог уточнить и представить какой-то другой пример в будущих лекциях.
Я считаю, что нуль обычно определяется как 0, который совпадает с ложью при использовании в качестве логического выражения.
NULL на gcc на некоторых платформах (Mac) намного сложнее. Он пытается начать использовать штуковину nullptr со следующего cxx rev. Тем не менее, он все равно должен вычислить ложь в булевом контексте
.В C++, NULL
имеет значение #определенное
до 0 (и, таким образом, вычисляется как ложное срабатывание). В языке Си это void*
, который также вычисляется как false, но его тип не является числовым. В стандартной библиотеке (по крайней мере на GCC):
#ifndef __cplusplus
#define NULL ((void *)0)
#else /* C++ */
#define NULL 0
#endif /* C++ */