μΆ”κ°€ νƒ€μž…

Rust TypeC++ Type
Stringrust::String
&strrust::Str
CxxStringstd::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>
  • μ΄λŸ¬ν•œ νƒ€μž…μ€ 곡유 ꡬ쑰체의 ν•„λ“œμ™€ extern ν•¨μˆ˜μ˜ 인수 및 λ°˜ν™˜μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • Rust의 String은 std::string에 직접 λ§€ν•‘λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ—¬κΈ°μ—λŠ” λ‹€μŒκ³Ό 같은 λͺ‡ κ°€μ§€ μ΄μœ κ°€ μžˆμŠ΅λ‹ˆλ‹€.
    • std::string은 String에 ν•„μš”ν•œ UTF-8 λΆˆλ³€κ°’μ„ μœ μ§€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
    • 두 νƒ€μž…μ€ λ©”λͺ¨λ¦¬μ— μ„œλ‘œ λ‹€λ₯Έ λ ˆμ΄μ•„μ›ƒμ„ κ°€μ§€κ³  μžˆμœΌλ―€λ‘œ μ–Έμ–΄ 간에 직접 전달될 수 μ—†μŠ΅λ‹ˆλ‹€.
    • std::stringμ—λŠ” Rust의 이동 의미 체계와 μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” 이동 μƒμ„±μžκ°€ ν•„μš”ν•˜λ―€λ‘œ std::string을 κ°’μœΌλ‘œ Rust에 전달할 수 μ—†μŠ΅λ‹ˆλ‹€.