在Rust中,當你看到
let y = x.clone(); |
時,你想知道:
- 這是一個廉價的引用計數增量?
- 還是一個昂貴的分配和記憶體複製?
你可以這樣做:
let y = Arc::clone(x); |
然後用一個clippy lint強制執行它:
#![deny(clippy::clone_on_ref_ptr)] |
以上提示來自《十億行挑戰》
網友:
- 如果是單執行緒,那麼就 RC<>
- 在 C 語言中,您只需這樣做:y = x;
- 這一定是有史以來最可怕的語法。 只要為每個功能設定不同的函式就可以了?