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



2
Когда вызов функции-члена в экземпляре 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)сбоя, …

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

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

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

1
Как работает реализация C ++ nullptr?
Мне любопытно узнать, как nullptrработает. Стандарты N4659 и N4849 гласят: он должен иметь тип std::nullptr_t; вы не можете взять его адрес; это может быть непосредственно преобразовано в указатель и указатель на член; sizeof(std::nullptr_t) == sizeof(void*); его преобразование в boolесть false; его значение может быть преобразовано в целочисленный тип идентично (void*)0, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.