@@ -42,7 +42,7 @@ struct ConstIterator {
4242
4343struct ConstRACIterator {
4444private:
45- int value;
45+ const int * value;
4646
4747public:
4848 using iterator_category = std::random_access_iterator_tag;
@@ -51,10 +51,10 @@ struct ConstRACIterator {
5151 using reference = const int &;
5252 using difference_type = int ;
5353
54- ConstRACIterator (int value) : value(value) {}
54+ ConstRACIterator (const int * value) : value(value) {}
5555 ConstRACIterator (const ConstRACIterator &other) = default ;
5656
57- const int &operator *() const { return value; }
57+ const int &operator *() const { return * value; }
5858
5959 ConstRACIterator &operator ++() {
6060 value++;
@@ -97,7 +97,7 @@ struct ConstRACIterator {
9797// Same as ConstRACIterator, but operator+= returns a reference to this.
9898struct ConstRACIteratorRefPlusEq {
9999private:
100- int value;
100+ const int * value;
101101
102102public:
103103 using iterator_category = std::random_access_iterator_tag;
@@ -106,10 +106,10 @@ struct ConstRACIteratorRefPlusEq {
106106 using reference = const int &;
107107 using difference_type = int ;
108108
109- ConstRACIteratorRefPlusEq (int value) : value(value) {}
109+ ConstRACIteratorRefPlusEq (const int * value) : value(value) {}
110110 ConstRACIteratorRefPlusEq (const ConstRACIteratorRefPlusEq &other) = default ;
111111
112- const int &operator *() const { return value; }
112+ const int &operator *() const { return * value; }
113113
114114 ConstRACIteratorRefPlusEq &operator ++() {
115115 value++;
@@ -918,7 +918,7 @@ struct InputOutputConstIterator {
918918
919919struct MutableRACIterator {
920920private:
921- int value;
921+ int * value;
922922
923923public:
924924 struct iterator_category : std::random_access_iterator_tag,
@@ -928,11 +928,11 @@ struct MutableRACIterator {
928928 using reference = const int &;
929929 using difference_type = int ;
930930
931- MutableRACIterator (int value) : value(value) {}
931+ MutableRACIterator (int * value) : value(value) {}
932932 MutableRACIterator (const MutableRACIterator &other) = default ;
933933
934- const int &operator *() const { return value; }
935- int &operator *() { return value; }
934+ const int &operator *() const { return * value; }
935+ int &operator *() { return * value; }
936936
937937 MutableRACIterator &operator ++() {
938938 value++;
0 commit comments