C++ Set 库 - ~set() 函数



描述

C++ 析构函数 std::set::~set() 销毁 set 容器。这确保了已使用的存储空间被释放。

注意:如果元素是指针,则指向的对象不会被销毁。它仅确保所有迭代器、指针和引用都失效。

声明

以下是 std::set::~set() 析构函数在不同 C++ 版本中的工作方式。

C++98

~set() destroys all set container elements, and deallocates all the 
storage capacity allocated by the container using its allocator.

C++11

~set() calls allocator_traits::destroy on each of the contained 
elements, and deallocates all the storage capacity allocated by the
 set container using its allocator.

C++14

~set() calls allocator_traits::destroy on each of the contained 
elements, and deallocates all the storage capacity allocated by the
 set container using its allocator.

返回值

析构函数从不返回值。

异常

如果抛出任何异常,此成员函数无效。

时间复杂度

线性于容器的大小,即 O(N)

示例

以下示例演示了 std::set::~set() 析构函数的使用。

#include <iostream>
#include <set>
#include <string>

using namespace std;

int main(void) {
   //Default constructor
   std::set<string> t_set;

   t_set.insert("Tutorials Point");
   return 0;
}

以上程序将编译并正确执行。

当它从 main(); 返回时,析构函数 ~set() 将被调用以销毁 set 容器 't_set'

set.htm
广告