push_back()
是 C++ 標準庫中的一個成員函數,用于在容器(如 vector
, list
, deque
等)的末尾添加一個元素
增加容器大小:push_back()
函數會在容器末尾添加一個新元素,因此容器的大小會增加 1。例如,如果你有一個包含 5 個元素的 std::vector
,調用 push_back()
后,容器的大小將變為 6。
可能導致重新分配內存:當容器需要更多空間來容納新元素時,它可能會重新分配內存以擴展其容量。這通常發生在當前分配的內存不足以容納新元素時。在這種情況下,容器會分配一塊更大的內存空間,然后將現有元素復制到新的內存區域,并釋放原來的內存。這種情況下,雖然容器的大小仍然增加了 1,但實際上也涉及到了內存的重新分配和元素的復制操作。
影響迭代器和引用:在某些情況下,調用 push_back()
可能會使指向容器元素的迭代器和引用失效。特別是,當發生內存重新分配時,指向容器元素的迭代器、指針和引用都可能失效。因此,在使用迭代器或引用遍歷容器并可能調用 push_back()
的過程中,需要特別注意。
總之,push_back()
函數會使容器的大小增加 1,并在必要時重新分配內存。在這個過程中,可能會影響到指向容器元素的迭代器和引用。