ما هي تكلفة `Option<T>` في Rust مقارنة بالمؤشرات الفارغة؟
```html
Всем привет! Я только начал изучать Rust, перешёл с C++. Там я привык использовать nullptr или NULL для обозначения отсутствия значения. В Rust вместо этого используют Option, и меня мучает вопрос: насколько это дорого? Ведь в C++ нулевой указатель — это просто 0, и никаких дополнительных затрат нет.
Например, у меня есть такая структура:
```rust
struct Node {
value: i32,
left: Option>,
right: Option>,
}
```
Если я сделаю `left: None`, то Rust должен хранить где-то флаг, который говорит, что это None. Получается, каждый Option занимает больше памяти, чем просто сырой указатель? Или компилятор как-то оптимизирует это?
Я попробовал проверить размер:
```rust
use std::mem::size_of;
fn main() {
println!("{}", size_of::