Вопросы с тегом «null-pointer»

120
Когда вызов функции-члена в экземпляре NULL приводит к неопределенному поведению?

Рассмотрим следующий код: #include <iostream> struct foo { // (a): void bar() { std::cout << "gman was here" << std::endl; } // (b): void baz() { x = 5; } int x; }; int main() { foo* f = 0; f->bar(); // (a) f->baz(); // (b) } Мы ожидаем (b)сбоя, потому что xдля нулевого...

116
Не удается найти @Nullable внутри javax.annotation. *

Я хочу использовать @Nullable аннотацию для устранения NullPointerExceptions. Я нашел несколько руководств в сети, я заметил, что эта аннотация взята из пакета javax.annotation.Nullable; но когда я импортирую его, возникает ошибка компиляции: не удается найти...

88
Каковы накладные расходы типа Option в Rust?

В Rust ссылки никогда не могут быть нулевыми, поэтому, если вам действительно нужен ноль, например связанный список, вы используете Optionтип: struct Element { value: i32, next: Option<Box<Element>>, } Сколько накладных расходов связано с выделением памяти и действиями по разыменованию...

80
Безопасно ли выполнять memcpy (0,0,0)?

Я не так хорошо разбираюсь в стандарте C, поэтому, пожалуйста, потерпите меня. Я хотел бы знать, гарантируется ли это по стандарту, что memcpy(0,0,0)это безопасно. Единственное ограничение, которое я смог найти, это то, что если области памяти перекрываются, то поведение не определено ... Но можно...

13
Как работает реализация C ++ nullptr?

Мне любопытно узнать, как nullptrработает. Стандарты N4659 и N4849 гласят: он должен иметь тип std::nullptr_t; вы не можете взять его адрес; это может быть непосредственно преобразовано в указатель и указатель на член; sizeof(std::nullptr_t) == sizeof(void*); его преобразование в boolесть false;...