
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ vector::cbegin() Function
The C++ vector::cbegin() is a built-in function in C++, which returns a constant iterator pointing to the first element in the container. It returns a const_iterator, an iterator point to the constant content (vector), const_iterator can be increased or decreased exactly like iterators, but they cannot be used to update or modify the vector content they refer to.The time complexity of the cbegin() function is constant.
const_iterator is different from iterator in a way that it cannot be used to modify the content it points to, even if the vector element is not itself constant.
Syntax
Following is the syntax for C++ vector::cbegin() Function −
const_iterator cbegin() const noexcept;
Parameters
It doesn't contains any kind of parameters.
Example 1
Let's consider the following example, where we are going to use the cbegin() function and retrieving the output.
#include <iostream> #include <vector> using namespace std; int main (){ vector<int> tutorial{12,23,34,45,56}; vector<int>::const_iterator i; for(i = tutorial.cbegin(); i != tutorial.cend(); ++i) cout<<*i<<" "; return 0; }
Output
When we compile and run the above program, this will produce the following result −
12 23 34 45 56
Example 2
In the following example, we are going to use push_back() function along with the cbegin() function.
#include <iostream> #include <vector> using namespace std; int main(){ vector<string> course; course.push_back("HTML"); course.push_back("JAVA"); course.push_back("SQL"); course.push_back("SCRIPT"); cout << "Courses are:" << endl; for (auto tp = course.cbegin(); tp != course.end(); ++tp) cout << *tp << endl; return 0; }
Output
On running the above program, it will produce the following result −
Courses are: HTML JAVA SQL SCRIPT
Example 3
Following is the another scenario, to check the usage the of the cbegin() function.
#include <iostream> #include <vector> using namespace std; int main (){ vector<string> tutorial{"TP","TutorialsPoint","Tutorix"}; vector<string>::const_iterator x; x = tutorial.cbegin(); cout<<*x<<" "; x++; cout<<*x<<" "; x++; cout<<*x<<" "; return 0; }
Output
On running the above program, it will produce the following result −
TP TutorialsPoint Tutorix
Example 4
Considering the following example, which will thrown an error on the usage of cbegin() function to modify the value which is not possible.
#include <iostream> #include<vector> using namespace std; int main(){ vector<int> tutorial{2,4,6,8}; vector<int>::const_iterator i=tutorial.cbegin()+2; *i=5; std::cout<<*i; return 0; }
Output
When we execute the above program, it will produce the following result −
main.cpp:8:7: error