其他型別
| Rust 型別 | C++ Type |
|---|---|
String | rust::String |
&str | rust::Str |
CxxString | std::string |
&[T]/&mut [T] | rust::Slice |
Box<T> | rust::Box<T> |
UniquePtr<T> | std::unique_ptr<T> |
Vec<T> | rust::Vec<T> |
CxxVector<T> | std::vector<T> |
- 這些型別可用於共用結構體的欄位,以及外部函式的引數和回傳內容。
- 請注意,Rust 的
String不會直接對應至std::string。以下列舉幾個原因:std::string不會維護String所需的 UTF-8 不變體。- 這兩種型別的內部記憶體結構不同,因此無法在語言之間直接傳遞。
std::string需要的移動建構函式與 Rust 的移動語意不相符,因此std::string無法透過值傳遞至 Rust。