Можно!
#include
using namespace std;
class DinArray {
int* ptr;
size_t len;
size_t buf;
public:
DinArray(const initializer_list& lst)
: len(lst.size()), buf(lst.size()), ptr(new int[lst.size()]) {
copy(lst.begin(), lst.end(), this->begin());
}
int& operator[](size_t i) {
return ptr[i];
}
const int& operator[](size_t i) const {
return ptr[i];
}
size_t size() const {
return len;
}
int* begin() {
return ptr;
}
int* end() {
return ptr + len;
}
const int* cbegin() const {
return ptr;
}
const int* cend() const {
return ptr + len;
}
};
int main() {
DinArray da{ 1, 2, 3, 4, 5 };
for (const auto x : da) cout << x << ' ';
cout.put('\n');
for (size_t i = 0; i < da.size(); ++i) cout << da[i] << ' ';
cout.put('\n');
}