C++ Deque::shrink_to_fit() 函式



C++ 的std::deque::shrink_to_fit() 函式用於將 deque 的容量減少到適合其大小,釋放未使用的記憶體。此函式是非約束性的,這意味著它充當對實現的請求,並且可能並不總是導致容量減少。它對容器的大小或元素沒有影響。

語法

以下是 std::deque::shrink_to_fit() 函式的語法。

void shrink_to_fit();

引數

它不接受任何引數。

返回值

此函式不返回任何內容。

異常

此函式從不丟擲異常。

時間複雜度

此函式的時間複雜度為常數,即 O(1)。

示例

在以下示例中,我們將考慮 shrink_to_fit() 函式的基本用法。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a;
    for (int x = 0; x < 10; ++x) {
        a.push_back(x);
    }
    std::cout << "Deque size before shrink_to_fit(): " << a.size() << std::endl;
    a.shrink_to_fit();
    std::cout << "Deque size after shrink_to_fit(): " << a.size() << std::endl;
    return 0;
}

輸出

以上程式碼的輸出如下:

Deque size before shrink_to_fit(): 10
Deque size after shrink_to_fit(): 10

示例

考慮以下示例,我們將對 deque 使用 clear 和 shrink 操作。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a;
    for (int x = 0; x < 5; ++x) {
        a.push_back(x);
    }
    a.clear();
    a.shrink_to_fit();
    std::cout << "Deque size after clear and shrink: " << a.size() << std::endl;
    return 0;
}

輸出

以下是以上程式碼的輸出:

Deque size after clear and shrink: 0

示例

在以下示例中,我們將使用調整大小後的 shrink 操作。

#include <iostream>
#include <deque>
int main()
{
    std::deque<int> a;
    for (int x = 0; x < 10; ++x) {
        a.push_back(x);
    }
    a.resize(5);
    a.shrink_to_fit();
    std::cout << "Deque capacity after resizing and shrink: " << a.size() << std::endl;
    return 0;
}

輸出

如果我們執行以上程式碼,它將生成以下輸出:

Deque capacity after resizing and shrink: 5
deque.htm
廣告