divyang4481 / mipt-hw

Automatically exported from code.google.com/p/mipt-hw
0 stars 0 forks source link

zhilinskaya.valentina #184

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
/zhilinskaya_valentina/task01_vector/

Original issue reported on code.google.com by zhilinskaya.valentina on 10 Mar 2013 at 2:31

GoogleCodeExporter commented 9 years ago
0. Не называйте, пожалуйста, файлы/папки 
русскими символами. Я переименовал. Не 
забудьте сделать svn update. Комментарии на 
русском в коде я тоже не могу читать. 
Пишите, пожалуйста, транслитом или 
по-английски.

1. Варнинги при компиляции:
main.cpp: In member function ‘void TVector<T>::push_back(const T&) [with T = 
int]’:
main.cpp:372:   instantiated from here
main.cpp:333: warning: comparison between signed and unsigned integer 
expressions
main.cpp: In member function ‘void TVector<T>::pop_back() [with T = int]’:
main.cpp:377:   instantiated from here
main.cpp:353: warning: comparison between signed and unsigned integer 
expressions
main.cpp: In member function ‘void TVector<T>::resize(int, T) [with T = 
int]’:
main.cpp:381:   instantiated from here
main.cpp:229: warning: comparison between signed and unsigned integer 
expressions
main.cpp:231: warning: comparison between signed and unsigned integer 
expressions
main.cpp:234: warning: comparison between signed and unsigned integer 
expressions
main.cpp:242: warning: comparison between signed and unsigned integer 
expressions
main.cpp:243: warning: comparison between signed and unsigned integer 
expressions
main.cpp:250: warning: comparison between signed and unsigned integer 
expressions
main.cpp: In member function ‘void TVector<T>::reserve(int) [with T = int]’:
main.cpp:383:   instantiated from here
main.cpp:263: warning: comparison between signed and unsigned integer 
expressions
main.cpp:267: warning: comparison between signed and unsigned integer 
expressions

2. Мало тестов.

3. Не вижу тестов на утечки памяти.

4. Это не ошибка, но нет необходимости 
реализовывать итератор вектора как 
сложный объект. Можно было просто 
использовать указатель и сделать ему typedef.

5. Удобнее все таки когда operator+= (и ему 
подобные) возвращают не void, а ссылку на 
результат. Иначе его невозможно 
использовать в выражениях.

6. operator= у Вас возвращает ссылку на 
временнуй объект. Кроме того, что это 
логически неверно, это может привести к access 
violation, т.к. после выхода из метода, этот 
временный объект более не существует.

7. Константный итератор у Вас ничем не 
отличается от неконстантного. В чем фишка? :)

8. Нет константных версий begin/end.

9. Нет константных версий back/front.

Решение не принято.

Original comment by aivyu...@gmail.com on 18 Mar 2013 at 8:33

GoogleCodeExporter commented 9 years ago
Дубль

Original comment by aivyu...@gmail.com on 26 May 2013 at 8:49