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()将被调用来销毁集合容器't_set'

设置.htm