ROS

C++ - Segfaults

Out-of-bounds Iterator Access

Posted by Rico's Nerd Cluster on April 12, 2024

Out-of-bounds Iterator Access

Out-of-bounds iterator access is an undefined behavior, which might give a segfault, or give a garbage value.

1
2
3
4
5
6
7
8
9
10
11
12
#include <vector>
#include <iostream>

int main() {
    std::vector<int> v = {10, 20, 30};
    auto iter_first = v.begin();
    auto bad_iter = iter_first + 5;

    // Dereference — UB, likely a segfault
    std::cout << *bad_iter << "\n";
    return 0;
}