C++ C++;
我还不清楚这两者之间的区别。我读到的关于它们的内容非常庞大和复杂(就像C++一样)。例如,它属于几年前,也来自维基百科。这个问题本身可能很复杂 我对它们的看法是,RAII是一种用于智能指针的机制,但我不确定这一点。我需要一个简单明了的答案 请您用一个简单的语言和一个小的示例代码解释一下好吗?C++ C++;,c++,smart-pointers,raii,C++,Smart Pointers,Raii,我还不清楚这两者之间的区别。我读到的关于它们的内容非常庞大和复杂(就像C++一样)。例如,它属于几年前,也来自维基百科。这个问题本身可能很复杂 我对它们的看法是,RAII是一种用于智能指针的机制,但我不确定这一点。我需要一个简单明了的答案 请您用一个简单的语言和一个小的示例代码解释一下好吗? 请记住,我在C++中处于低级。 < P>它们是互补的概念。RAII意味着对象自动管理自己的资源。智能指针是实现分配内存RAII的一种方法。是一种技术: 资源获取是初始化或RAII,是一种C++编程技术[1
请记住,我在C++中处于低级。 < P>它们是互补的概念。RAII意味着对象自动管理自己的资源。智能指针是实现分配内存RAII的一种方法。是一种技术:
资源获取是初始化或RAII,是一种C++编程技术[1 ] [2 ],它绑定了资源的生命周期(<强>分配内存、执行线程、打开套接字、打开文件、锁定互斥、数据库连接中存在的任何供应不足/强>)到具有自动存储持续时间的对象的生存期
RAII的概念包括所有有限的资源,而我们需要管理动态分配的内存或由普通指针表示的任何资源,遵循RAII。是使用C++自动调用析构函数来释放构造函数中获取的资源的想法 首字母缩略词只是含糊地表示,资源获取是初始化A是一个类,它至少重载
运算符->
和取消引用运算符*
,以启用指针表示法。通常,智能指针将使用RAII技术自动释放内存。但它可以做其他事情。然而,智能指针以某种方式处理包含的原始指针的“所有权”,这是隐含的。例如,一个简单的迭代器类重载运算符->
和运算符*
,但不被视为智能指针。谢谢。所以我对他们的看法是正确的!:)