-_-IO-_- I -_-IO-_- Регистрация 14 Дек 2013 Сообщения 72 Репутация 0 Спасибо 0 Монет 0 15 Сен 2023 #1 Помогите кто шарит
ПафоС П ПафоС Регистрация 28 Сен 2013 Сообщения 96 Репутация 0 Спасибо 0 Монет 0 15 Сен 2023 #2 C00005 - обращение к нулевому указателю.
mankestyle M mankestyle Регистрация 6 Мар 2013 Сообщения 76 Репутация -1 Спасибо 0 Монет 0 15 Сен 2023 #3 #include #include using namespace std; class Array { using type_value = int; static const size_t lim = 8; size_t len; size_t cap; type_value* buf; public: Array() : len(0), cap(lim), buf(new type_value[lim]) {} Array(const size_t length) : len(length), cap(length), buf(new type_value[length]) {} Array(const initializer_list& lst) : len(lst.size()), cap(len), buf(new type_value[len]) { copy(lst.begin(), lst.end(), this->begin()); } Array(const Array& a) : len(a.size()), cap(len), buf(new type_value[len]) { copy(a.cbegin(), a.cend(), this->begin()); } Array(Array&& a) : len(a.size()), cap(len), buf(new type_value[len]) { buf = a.buf; a.buf = nullptr; } ~Array() { if (buf != nullptr) { delete[] buf; buf = nullptr; } } Array& operator=(const Array& a) { if (&a != this) { delete[] buf; len = a.len; cap = a.cap; buf = new type_value[len]; copy(a.cbegin(), a.cend(), this->begin()); } return *this; } Array& operator=(Array&& a) { delete[] buf; len = a.len; cap = a.cap; buf = a.buf; a.buf = nullptr; return *this; } type_value& operator[](size_t i) { return buf; } type_value& operator++() { *++buf; } type_value& operator++(int i) { *buf++; } size_t size() const { return len; } type_value* begin() const { return buf; } type_value* end() const { return buf + len; } const type_value* cbegin() const { return buf; } const type_value* cend() const { return buf + len; } }; void show(const Array& a) { for (auto x : a) cout
#include #include using namespace std; class Array { using type_value = int; static const size_t lim = 8; size_t len; size_t cap; type_value* buf; public: Array() : len(0), cap(lim), buf(new type_value[lim]) {} Array(const size_t length) : len(length), cap(length), buf(new type_value[length]) {} Array(const initializer_list& lst) : len(lst.size()), cap(len), buf(new type_value[len]) { copy(lst.begin(), lst.end(), this->begin()); } Array(const Array& a) : len(a.size()), cap(len), buf(new type_value[len]) { copy(a.cbegin(), a.cend(), this->begin()); } Array(Array&& a) : len(a.size()), cap(len), buf(new type_value[len]) { buf = a.buf; a.buf = nullptr; } ~Array() { if (buf != nullptr) { delete[] buf; buf = nullptr; } } Array& operator=(const Array& a) { if (&a != this) { delete[] buf; len = a.len; cap = a.cap; buf = new type_value[len]; copy(a.cbegin(), a.cend(), this->begin()); } return *this; } Array& operator=(Array&& a) { delete[] buf; len = a.len; cap = a.cap; buf = a.buf; a.buf = nullptr; return *this; } type_value& operator[](size_t i) { return buf; } type_value& operator++() { *++buf; } type_value& operator++(int i) { *buf++; } size_t size() const { return len; } type_value* begin() const { return buf; } type_value* end() const { return buf + len; } const type_value* cbegin() const { return buf; } const type_value* cend() const { return buf + len; } }; void show(const Array& a) { for (auto x : a) cout
имя И имя Регистрация 1 Дек 2013 Сообщения 80 Репутация 0 Спасибо 0 Монет 0 15 Сен 2023 #4 Что если size=0 то в -1 это ошибка понятно. Но вообще это строчка не ясна, если выше у вас условие arr > 0 увеличивает sum на это значение, а значит никогда не будет отрицательное значение в sum то для чего проверка (sum >0)?
Что если size=0 то в -1 это ошибка понятно. Но вообще это строчка не ясна, если выше у вас условие arr > 0 увеличивает sum на это значение, а значит никогда не будет отрицательное значение в sum то для чего проверка (sum >0)?
Сергей74 С Сергей74 Регистрация 14 Дек 2012 Сообщения 88 Репутация 0 Спасибо 0 Монет 0 15 Сен 2023 #5 Покажи откуда ты эту функцию вызывал?