int array[] = {1, 2, 3, 4, 5};
1234567891011121314151617181920212223242526272829303132
// Example program #include <iostream> #include <string> using namespace std; class cs{ private: int *p; public: void print(){ p[0] = 1; p[1] = 2; p[2] = 3; p[3] = 4; p[4] = 5; for(int& x : p){ x++; } for(auto x : p){ cout << x; } } }; int main() { cs use; use.print(); return 0; }
1234567891011121314151617181920212223242526272829
#include <iostream> struct A { std::size_t sz = 5 ; int* ptr = new int[sz] { 0, 1, 2, 3, 4 }; // ... struct array_view // or: using array_view = std::experimental::basic_string_view<int> ; { int* p ; std::size_t n ; int* begin() { return p ; } int* end() { return p+n ; } const int* begin() const { return p ; } const int* end() const { return p+n ; } }; void print() const { for( int v : array_view{ptr,sz} ) std::cout << v << '\n' ; } }; int main() { A a ; a.print() ; }