2017-02-03 2 views
0
int a[4]={1,2,3,4}; 
int* b = new int[4]; 

Есть ли какая-либо функция библиотеки, такая как std :: copy, чтобы скопировать элементы из массива a в указатель b в C++?библиотека C++ для копирования содержимого массива в указатель

+2

Что не так с 'std :: copy (a, a + 4, b);'? – DeiDei

+0

да его работы с std :: copy (a, a + 4, checked_array_iterator (b, 4)); Благодарю. – Curious

+0

с std :: copy (a, a + 4, b); В версии vC++ последнее дает ошибки. – Curious

ответ

2

Да там, это называется std::vector<>; вы должны использовать его в своем коде следующим образом:

std::vector<int> a { 1, 2, 3, 4 }; 
auto b = a; 
1

Есть ли какая-либо функция библиотеки, например std :: copy, чтобы скопировать элементы из массива a в указатель b в C++?

Да, это std::copy:

std::copy(std::begin(a), std::end(a), b);