其他型別
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。