Усовершенствованный вектор!
Запись от Тамика размещена 21.03.2014 в 18:12
Показов 5282
Комментарии 12
Метки c++
Прислушиваясь к советам форумчан, исправила свой int_array, добавила пару новых функций, пару перегрузов. Оцениваем и комментируем! ![]() Header
| ||||||||||
Метки c++
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 12
Комментарии
-
Здравствуйте, Тамика. Приятно поучаствовать снова в Вашем блоге
. Но есть вопрос, почему при очистке void clear, Вы чистите только счетчик?Запись от mustimur размещена 21.03.2014 в 18:56
-
Раз <algorithm> подключен, можно тогда copy и fill использовать.
В конструкторе может пригодиться
Насколько я знаю, конструктор копирования обычно capacity не копирует.C++ 1
new int[n]()
Запись от Somebody размещена 21.03.2014 в 19:00
-
1) В реализации метода pop_back()Не?C++ 1
if (size > 0)
2) Везде подряд сравнение signed int и size_t. Разве vector.size может быть отрицательным? А на шестидесяти четырех битных машинах size_t влезет в int? Не очень хорошо.
3)В чем сакральный смысл? Если захочет сам себя развидеть? ))C++ 1 2
int& int_array::front(); int& int_array::back();
4) Еслитогда уж и в реализации добавить:C++ 1
void swap (int_array &in) throw ();
Ну или просто в объявлении:C++ 1 2 3 4 5 6
void int_array::swap(int_array& in) throw() { std::swap(mas, in.mas); std::swap(size, in.size); std::swap(capacity, in.capacity); }
C++ 1
void __declspec(nothrow) swap (int_array &in) /*throw ()*/;
Запись от SatanaXIII размещена 21.03.2014 в 22:13
-
опять начинаете крутить
получаем ненужное копирование и свап с самим собойC++ 1 2 3
int_array a; //добавляем 100500 элементов в a a = a;
Запись от Jupiter размещена 21.03.2014 в 23:06
-
И мне приятно снова видеть Вас в моём блоге.
Сообщение от mustimur

По поводу вопроса - clear() должен зачистить все элементы, но не удалять память и capacity, дабы избежать дальнейшего перевыделения.
Запись от Тамика размещена 22.03.2014 в 10:17
-
По поводу copy/fill - я вообще не хотела никаких дополнительных библиотек подключать.)))
Сообщение от Somebody
Но меня уговорили ее подключить для свопа. Потому более я ее нигде не использую. И, наверное, уберу эту библиотеку в дальнейшем.
По поводу capacity - я поняла о чём Вы. Да, это ценное замечание, будет исправлено!
Запись от Тамика размещена 22.03.2014 в 10:20
-
Да, if я зря убрала.
Сообщение от Jupiter
Исправим.
Спасибо!
Запись от Тамика размещена 22.03.2014 в 10:22
-
1) А одно и то же.
Сообщение от SatanaXIII
2) Да, хотела изменить тип переменных с int на size_t, но забыла... Исправим.)
3) Сакральный смысл в том, чтобы можно было с помощью этих функций не только доставать значение, а ещё и изменять.
4) Учту-с.
Спасибо!
Запись от Тамика размещена 22.03.2014 в 10:29
-
Запись от HighPredator размещена 23.03.2014 в 12:28
-
Запись от SatanaXIII размещена 24.03.2014 в 12:40
-
А это моя невнимательность!
Запись от Тамика размещена 26.03.2014 в 16:37
-
Запись от Avazart размещена 25.04.2015 в 12:28





