The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск языка программирования Rust 1.39, opennews (??), 09-Ноя-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


117. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от TreeDataStructInRustIsPossible (?), 11-Ноя-19, 15:04 
вот пример реализации дерева на rust:

struct Node {
    data: i32,
    left: *mut Node,
    right: *mut Node
}
const _NULL: *const Node = std::ptr::null();

fn create_node(data: i32)->Node{
    Node {data: data, left: _NULL as *mut Node, right: _NULL as *mut Node}
}

fn main() {
    let mut tree = create_node(0);
    tree.left = &mut create_node(123) as *mut Node;
    tree.right = &mut create_node(312) as *mut Node;
    unsafe {(*tree.left).data = 345};
    let root_value = tree.data;
    let left_value = unsafe {(*tree.left).data};
    let right_value = unsafe {(*tree.right).data};
    println!("root_value={}, left_value={},right_value={}", root_value, left_value, right_value);
}

Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

118. "Выпуск языка программирования Rust 1.39"  +1 +/
Сообщение от Аноним (118), 11-Ноя-19, 15:44 
Т.е. unsafe с сырыми указателями во все дыры засунуть? Как не рекомендуется делать в расте? Тогда может лучше на Си?
Ответить | Правка | Наверх | Cообщить модератору

120. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от IsCbetterThanRust (?), 11-Ноя-19, 16:24 
это же вроде один из примеров реализации дерева в Rust?
разве то, что в C явно не указывается, что safe, а что unsafe - это лучше, чем в Rust?
Ответить | Правка | Наверх | Cообщить модератору

121. "Выпуск языка программирования Rust 1.39"  +/
Сообщение от Аноним (118), 11-Ноя-19, 17:53 
Лучше бы было если бы была представлена реализация без unsafe-приемчиков.
Ответить | Правка | Наверх | Cообщить модератору

122. "Выпуск языка программирования Rust 1.39"  +5 +/
Сообщение от Аноним (122), 11-Ноя-19, 18:18 
> Лучше бы было если бы была представлена реализация без unsafe-приемчиков.

https://docs.rs/ternary-tree/0.1.0/ternary_tree/
> A Rust implementation of Ternary Search Trees, with no unsafe blocks

Ну а вообще, непонятны претензии анонимных критиков - ведь если есть возможность сократить "зону риска", то не воспользоваться этим из-за "если только сократить, а не убрать полностью - то значит ни! ну! жна!" как-то глупо.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру