首页 文章
  • 8 votes
     answers
     views

    在Delphi中明确表达所有权

    我已经习惯了拥有像 std::unique_ptr , std::shared_ptr 等类模板来表达我的对象的所有权 . Delphi的标准库中是否有类似的东西?在编写代码时,是否有任何表达对象所有权的最佳实践? Edit: 由于C 11成为标准,因此有两个轻量级辅助类, std::shared_ptr 和 std::unique_ptr . 如果我创建一个 std::shared_ptr&...
  • 105 votes
     answers
     views

    聪明的指针:或谁拥有你的宝贝? [关闭]

    C完全是关于内存所有权阿卡“ Ownership Semantics ” 一块动态分配的内存的所有者负责释放该内存 . 所以这个问题真的变成了拥有记忆的人 . 在C中,所有权由RAW指针包含在内部的类型记录,因此在一个好的(IMO)C程序中,很少见[RARE并非永远]看到RAW指针传递(因为RAW指针没有推断的所有权因此我们不能告诉谁拥有记忆,因此如果没有仔细阅读文件,你无法分辨谁负责所有权) ....
  • 12 votes
     answers
     views

    Rust如何移动不可复制的堆栈变量?

    这里记录了Rust的移动语义的一个很好的例子:在Rust By Example网站上的Rust Move Semantics . 我对两个案例都有基本的了解 . 第一个原语是如何使用原语可以使用新的别名,原始文件仍可以使用,因为最终结果是 i32 使用 Copy 特征时看到的副本 . 这对我来说很有意义 . 此外,由于许多充分的理由,第二个示例在具有多个引用堆上的 i32 的别名方面是有意义的 ....
  • 2 votes
     answers
     views

    Rust集合是否有能力拥有他们存储的数据?

    给出以下代码(不编译): fn main() { let mut v = vec!(); { let name = "Bob the Builder".to_string(); v.push(&name); } for m in &v{ println!("{}&qu...

热门问题