是的,C++ 中的 std::set 会在其生命周期结束时自动销毁其包含的所有元素。这是因为 std::set 是一个容器,它存储在其内部的元素是动态分配的,当 std::set 被销毁时,它会自动释放这些动态分配的内存。
例如,考虑以下代码:
#include <iostream>
#include <set>
int main() {
    std::set<int> my_set = {1, 2, 3, 4, 5};
    // ... 在此处使用 my_set
    return 0;
}
在这个例子中,my_set 是一个包含五个整数的 std::set。当 main 函数结束时,my_set 会被销毁,其包含的所有元素也会被自动销毁。因此,你不需要手动释放 std::set 中的元素。