Публикации по теме 'ownership'
Заимствование и владение Rust
Руководство разработчика Rust с точки зрения Node.js с примерами
Отправившись в захватывающее путешествие с Rust в нашей предыдущей статье, мы вернулись, чтобы углубиться в две основные концепции, отличающие Rust: заимствование и владение . Вы можете найти последнюю статью здесь:
Погружение с головой в Rust: американские горки для разработчиков Node.js Прощание с JavaScript и знакомство с миром Rust giuseppealbrizio.medium.com
Как..
Флориан Гилчер — «Право собственности и заимствование от компании Systems Construction PoV»
В API передача права собственности — это способ разделения компонентов. Если что-то передается в качестве ссылки, создатель (вызывающий) должен позаботиться об очистке и синхронизации. Передача чего-либо в качестве значения (передача права собственности) позволяет отделить вызывающую сторону от вызывающего метода. Если у вызывающего метода есть жизненный цикл владельца (например, поток), то передача права собственности упрощает все.
Мой вынос
У меня было подсознательное ощущение, что..
Что такое владение Rust?
Концепция собственности
Память и распределение
В Rust данные могут храниться либо в стеке, либо в куче.
Типы памяти
Стек памяти Куча памяти
Стек и куча
Стек и куча - это части памяти, которые будут использоваться во время выполнения, но они структурированы по-разному.
Куча
Он собирает значения в порядке их получения и удаляет значения в обратном порядке. Именуется как Последний пришел - первый ушел (LIFO) .
Стек: представьте себе стопку тарелок...
Понимание замыканий в Rust.
Резюме
Замыкания - это комбинация указателя на функцию ( fn ) и контекста. Замыкание без контекста - это просто указатель на функцию. Замыкание с неизменяемым контекстом принадлежит Fn . Замыкание с изменяемым контекстом принадлежит FnMut . Замыкание, которому принадлежит его контекст, принадлежит FnOnce .
Понимание различных типов замыканий в Rust.
В отличие от некоторых других языков, Rust явно говорит об использовании нами параметра self . Мы должны указать self как..
Кому принадлежит интеллектуальная собственность, когда речь идет о машинном обучении?
Я чаще сталкиваюсь с услугами, предлагающими решения на основе интерфейса прикладного программирования (API), позволяющие разгрузить инфраструктуру, платформу и рутинную работу механизма искусственного интеллекта (ИИ) или машинного обучения (МО).
Например, вы отправляете сервису неструктурированный документ и помогаете машине научиться интерпретировать артефакт, чтобы она могла лучше понять данные и получить информацию, такую как выводы о ее содержании. Это похоже на обучение..
Вопросы по теме 'ownership'
как найти владельца файла или каталога в python
Мне нужна функция или метод в Python, чтобы найти владельца файла или каталога.
Функция должна быть такой:
>>> find_owner("/home/somedir/somefile")
owner3
52395 просмотров
schedule
13.12.2023
Как изменить владельца файла в windows
Я пытаюсь изменить право собственности на файл через C ++ в Windows (Windows 7 и выше) конкретному пользователю. Я прочитал это пример, но, похоже, он не очень помогает. Я хотел бы иметь возможность создать такую функцию, как...
2101 просмотров
schedule
07.07.2022
c++11 - Владение и геттеры
Я новичок в С++, и у меня проблемы с пониманием владения, особенно с геттером. Вот пример кода:
class GameObject {
public:
Transform *transform();
private:
Transform _transform;
};
Я предполагаю, что необработанный указатель небезопасен...
2857 просмотров
schedule
17.05.2022
Как указать, что мой класс является владельцем объекта, который он создает?
Я пытаюсь определить класс, который будет иметь общедоступное ADOConnection, которое может установить другое приложение.
Однако я не могу заставить конструктор работать над созданием переменной ADOConnection. Это код, который у меня есть до сих...
1808 просмотров
schedule
04.05.2023
Пытаюсь создать новый репо, но git думает, что я организация
(некоторый важный фон): я являюсь владельцем репозитория моей работы на github. для этого примера я буду называть это "организация/организация"
Итак, я создал некоторый личный код для стороннего проекта, а затем решил перенести его в новый...
802 просмотров
schedule
30.12.2022
NSMutableDictionary не вызывает «выпуск» при удалении объекта
Насколько я понял, NSMutableDictionary освобождает все объекты при освобождении. Я написал тест для этого:
#import <Foundation/Foundation.h>
int main(int argc, char *argv[])
{
@autoreleasepool
{
NSMutableDictionary...
75 просмотров
schedule
17.09.2022
Google Drive SDK создает файл для пользователя
Здравствуйте В настоящее время я пытаюсь создать файл под определенной учетной записью пользователя. Учетная запись пользователя находится в моем домене Google. Для Oauth я использую учетную запись службы. DriveService()
private static...
1799 просмотров
schedule
01.07.2022
Как заставить класс C++ обращаться ко ВСЕМ закрытым членам другого класса константным способом (только чтение, а не запись)
Я делаю игру, в которой у меня есть класс Level, который занимается хранением всех объектов в векторах и их изменением.
И у меня есть еще один класс с именем Engine.h, в котором есть статические функции, которые вычисляют вещи на основе векторов,...
259 просмотров
schedule
01.08.2023
Передача права собственности в векторе unique_ptrs
У меня 2 класса А и В
//A.h
class A{};
// B.h
typedef unique_ptr<A, AllocateA> APtr;
typedef vector<APtr> BVEC;
class B
{
public:
BVEC vec; //error is here
//....
};
Когда я компилирую код, я получаю...
225 просмотров
schedule
19.01.2023
Распечатывает! одолжить или владеть переменной?
Меня путают ссуды и владение. В документации по ссылкам и заимствованиям Rust
let mut x = 5;
{
let y = &mut x;
*y += 1;
}
println!("{}", x);
Они говорят
println! может занимать x .
Меня это смущает. Если...
4384 просмотров
schedule
23.09.2023
Общий способ владения значением (не указывайте `Rc` или `Box`)
Существует ли перечисление/признак для принадлежащих значений в целом, когда вы не хотите указывать, как именно значение принадлежит (совместно или нет), но вы просто хотите им владеть. Мне нужно хранить ссылки на замыкания в структуре, а это...
98 просмотров
schedule
29.09.2022
C++11 контейнер заимствованных unique_ptrs
У меня есть вектор unique_ptrs, и я хочу отфильтровать его в новый вектор того же типа.
vector<unique_ptr<Thing>> filter_things(const vector<unique_ptr<Thing>> &things) {
vector<unique_ptr<Thing>>...
207 просмотров
schedule
05.04.2023
Когда реализация захочет стать владельцем себя в Rust?
Я читаю документацию Rust по времени жизни. Я пробовал что-то вроде:
struct S {
x: i8,
}
impl S {
fn fun(self) {}
fn print(&self) {
println!("{}", self.x);
}
}
fn main() {
let s = S { x: 1 };
s.fun();...
1337 просмотров
schedule
21.06.2023
Взять на себя ответственность за членство в заимствованной структуре
У меня есть следующая функция:
pub fn finish_frame(&mut self) {
if self.frame.is_none() {
return;
}
self.frame.unwrap().finish().unwrap();
}
При компиляции компилятор выдает следующую ошибку:
error[E0507]: cannot...
31 просмотров
schedule
26.05.2022
Как передать право собственности на значение в код C из Rust?
Я пытаюсь написать некоторый код Rust с FFI, в котором C становится владельцем структуры:
fn some_function() {
let c = SomeStruct::new();
unsafe {
c_function(&mut c);
}
}
Я хочу, чтобы c_function стал владельцем c ....
1469 просмотров
schedule
30.11.2022
Как скопировать строку из &String во время итерации по вектору?
Я пытаюсь разобраться в правах собственности и проверке заимствований. Я столкнулся с проблемой, которую мне удалось «решить», но я думаю, что должен быть более эргономичный способ сделать это.
Следующий код отключает средство проверки...
9571 просмотров
schedule
11.03.2024
Изменяемая/неизменяемая ошибка заимствования Rust при закрытии
Я пытаюсь абстрагироваться от инициализации ящика glium , но у меня проблемы с владением. Я просматривал документацию и похоже, что это может быть связано с этим правилом:
At any given time, you can have either but not both of:...
74 просмотров
schedule
22.12.2022
Почему функция, принимающая Box‹MyType›, жалуется на перемещение значения, когда работает функция, принимающая self?
У меня есть следующий код, который компилируется:
pub mod Btree {
pub struct node {
pub id: u32,
pub red: bool,
pub left: Option<Box<node>>,
pub right: Option<Box<node>>,
}...
95 просмотров
schedule
22.09.2022
Есть ли собственная версия String::chars?
Следующий код не компилируется:
use std::str::Chars;
struct Chunks {
remaining: Chars,
}
impl Chunks {
fn new(s: String) -> Self {
Chunks {
remaining: s.chars(),
}
}
}
Ошибка:
error[E0106]:...
1544 просмотров
schedule
17.06.2022
Сценарий оболочки необходимо запускать от имени пользователя root
У меня есть сценарии оболочки, как показано ниже, для изменения/переключения на другое соединение с провайдером.
#!/bin/bash
/sbin/route add default gw 192.168.1
/sbin/route del default gw 192.168.1.2
/sbin/route del default gw 192.168.1.3...
355 просмотров
schedule
08.04.2023