网站做兼容需要多少钱,短网址生成防红,林业门户网站建设,wordpress ajax 提交评论std::unique_ptr 的 Rust 绑定称为 UniquePtr。有关 Rust API 的文档#xff0c;请参见链接。
限制#xff1a;
目前仅支持 std::unique_ptrT, std::default_delete。未来可能会支持自定义删除器。
UniquePtr 不支持 T 为不透明的 Rust 类型。对于在语言边界传递不…std::unique_ptr 的 Rust 绑定称为 UniquePtr。有关 Rust API 的文档请参见链接。
限制
目前仅支持 std::unique_ptrT, std::default_delete。未来可能会支持自定义删除器。
UniquePtr 不支持 T 为不透明的 Rust 类型。对于在语言边界传递不透明 Rust 类型的所有权应使用 BoxC 中的 rust::Box。
示例
UniquePtr 通常用于将不透明的 C 对象返回给 Rust。此用例在 blobstore 教程中有所体现。
// src/main.rs#[cxx::bridge]
mod ffi {unsafe extern C {include!(example/include/blobstore.h);type BlobstoreClient;fn new_blobstore_client() - UniquePtrBlobstoreClient;// ...}
}fn main() {let client ffi::new_blobstore_client();// ...
}// include/blobstore.h#pragma once
#include memoryclass BlobstoreClient;std::unique_ptrBlobstoreClient new_blobstore_client();// src/blobstore.cc#include example/include/blobstore.hstd::unique_ptrBlobstoreClient new_blobstore_client() {return std::make_uniqueBlobstoreClient();
}