Czy można bezpiecznie usunąć wskaźnik NULL? I czy to dobry styl
Czy można bezpiecznie usunąć wskaźnik NULL? I czy to dobry styl
Czy bezpiecznie jest sprawdzić wskaźnik, że nie jest NULL, pisząc po prostu, if(pointer)czy muszę go używać if(pointer !=
Rozważ następujący kod: #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) } Spodziewamy (b)się awarii, ponieważ...
Chcę użyć @Nullable adnotacji, aby wyeliminować NullPointerExceptions. Znalazłem w sieci kilka tutoriali, zauważyłem, że ta adnotacja pochodzi z pakietu javax.annotation.Nullable; ale podczas importu generowany jest błąd kompilacji: nie można znaleźć
W Rust referencje nigdy nie mogą być zerowe, więc w przypadku, gdy faktycznie potrzebujesz null, na przykład listy połączonej, użyj Optiontypu: struct Element { value: i32, next: Option<Box<Element>>, } Ile narzutu wiąże się z tym, jeśli chodzi o alokację pamięci i kroki do...
Nie jestem dobrze zorientowany w standardzie C, więc proszę o wyrozumiałość. Chciałbym wiedzieć, czy standard gwarantuje, że memcpy(0,0,0)jest to bezpieczne. Jedynym ograniczeniem, jakie mogłem znaleźć, jest to, że jeśli regiony pamięci nakładają się, to zachowanie jest niezdefiniowane...
Jestem ciekawy, jak nullptrdziała. Normy N4659 i N4849 mówią: musi mieć typ std::nullptr_t; nie możesz wziąć jego adresu; można go bezpośrednio przekonwertować na wskaźnik, a wskaźnik na element członkowski; sizeof(std::nullptr_t) == sizeof(void*); jego konwersja na booljest false; jego wartość...