[ Web Proxy ]
URL:
Viewing: https://ru.cppreference.com/cpp/container/vector/data [Back]  [Original]

std::vector::data cppreference.com
cppreference.com

std::vector::data

cppreference.com
<tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody>
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)

( ) []

Web Proxy Viewer  |  New URL  |  Original Page