std::vector::data
cppreference.com
T* data() noexcept; |
( C++11) ( C++20) |
|
constexpr T* data() noexcept; |
( C++20) | |
const T* data() const noexcept; |
( C++11) ( C++20) |
|
constexpr const T* data() const noexcept; |
( C++20) | |
, . , [data(); data() + size()) , ( data() ).
()
. , .
.
size() 0, , data() .
#include <cstddef>
#include <iostream>
#include <span>
#include <vector>
void pointer_func(const int* p, std::size_t size)
{
std::cout << "data = ";
for (std::size_t i = 0; i < size; ++i)
std::cout << p[i] << ' ';
std::cout << '\n';
}
void span_func(std::span<const int> data) // C++20
{
std::cout << "data = ";
for (const int e : data)
std::cout << e << ' ';
std::cout << '\n';
}
int main()
{
std::vector<int> container { 1, 2, 3, 4 };
// container.data() , &container[0]
pointer_func(container.data(), container.size());
// std::span (C++20) - .
span_func({container.data(), container.size()});
}
:
data = 1 2 3 4
data = 1 2 3 4
.
| (public -) | |
| (public -) | |
| (public -) | |
(C++20) |
( ) |