std::deque::begin
#include <deque>
iterator begin() noexcept;
const_iterator begin() const noexcept;
Trả về một iterator trỏ đến phần tử đầu tiên của deque.
Tham số
Không có tham số
Giá trị trả về
iterator begin()
- Trả về một iterator trỏ đến phần tử đầu tiên của deque. Nếu deque là rỗng, iterator trả về sẽ trỏ đến vị trí
end()
.
- Trả về một iterator trỏ đến phần tử đầu tiên của deque. Nếu deque là rỗng, iterator trả về sẽ trỏ đến vị trí
const_iterator begin() const
- Trả về một
const_iterator
trỏ đến phần tử đầu tiên, dùng khi đối tượng deque là hằng (const
).
- Trả về một
Đặc điểm
- Hàm
begin()
thường được sử dụng cùng với hàmend()
để duyệt qua các phần tử của deque trong vòng lặp. - Nếu deque rỗng, iterator trả về từ
begin()
sẽ bằng vớiend()
. - Mặc dù hàm
begin()
có thể xử lý deque rỗng bằng cách trả về một iterator bằng vớiend()
, việc kiểm tra deque có rỗng hay không trước khi thao tác vẫn là một thực hành tốt. - Nên sử dụng
const_iterator
nếu không cần thay đổi nội dung của deque.
Ví dụ
Duyệt qua các phần tử
#include <iostream>
#include <deque>
int main() {
std::deque<int> dq = {10, 20, 30, 40};
// Duyệt qua các phần tử bằng iterator
for (auto it = dq.begin(); it != dq.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
Sử dụng với const_iterator
#include <iostream>
#include <deque>
int main() {
const std::deque<int> dq = {5, 15, 25};
// Duyệt qua các phần tử bằng const_iterator
for (auto it = dq.begin(); it != dq.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
Kết hợp begin()
với các thuật toán trong STL
#include <iostream>
#include <deque>
#include <algorithm> // std::reverse
int main() {
std::deque<int> dq = {1, 2, 3, 4};
// Đảo ngược các phần tử của deque
std::reverse(dq.begin(), dq.end());
for (const auto& elem : dq) {
std::cout << elem << " ";
}
return 0;
}
Các hàm liên quan
front | Trả về tham chiếu đến phần tử đầu tiên trong deque |
end | Trả về một iterator trỏ đến phần tử sau phần tử cuối cùng của deque |
rbegin | Trả về một reverse iterator trỏ đến phần tử cuối cùng của deque |
rend | Trả về một reverse iterator trỏ đến phần tử trước phần tử đầu tiên của deque |