std::vector data() method
- since C++20
- since C++11
- until C++11
// Non-const version
constexpr T* data() noexcept;
// Const version
constexpr T const* data() const noexcept;
// Non-const version
T* data() noexcept;
// Const version
T const* data() const noexcept;
// Non-const version
T* data();
// Const version
T const* data() const;
Returns pointer to the underlying array serving as element storage.
The pointer is such that range [ data()
; data() + size()
) is always a valid range,
even if the container is empty.
If the container is empty, dereferencing the pointer returned by data()
is undefined behavior
Parameters
(none)
Return value
Pointer to the underlying element storage.
For a non-empty container c
, the returned pointer compares equal to the address of the first element - c.data() == &c[0]
;
Complexity
Constant - O(1)**.
Notes
If the container is empty, data()
may or may not return a null pointer.
Example
#include <array>
#include <iostream>
int main()
{
std::vector<char> letters {'a', 'b', 'c', 'd', 'e', 'f'};
if (!letters.empty()) {
std::cout << "The last character is '" << letters.back() << "'.\n";
}
}
The last character is 'f'.
Hover to see the original license.