Сообщение Re[4]: ненависть к итераторам от 26.12.2020 12:10
Изменено 26.12.2020 12:11 Videoman
Re[4]: ненависть к итераторам
Здравствуйте, Voivoid, Вы писали:
V>Так и указатели тоже будут работать с точно таким же кодом: https://ideone.com/AvzGNO
V>
V>Или о чем речь?
Да придирки... просто насколько я понял std::iterator_traits не отличает константные итераторы от не константных. Как с std::iterator_traits сделать что-бы метод принимал итераторы/указатели только не константные, иначе говоря, что бы код выше не компилировался?
V>Так и указатели тоже будут работать с точно таким же кодом: https://ideone.com/AvzGNO
V>
V>int main()
V>{
V> const char* p = nullptr;
V> CalcSomething( p, p );
V>}
V>
V>Или о чем речь?
Да придирки... просто насколько я понял std::iterator_traits не отличает константные итераторы от не константных. Как с std::iterator_traits сделать что-бы метод принимал итераторы/указатели только не константные, иначе говоря, что бы код выше не компилировался?
Re[4]: ненависть к итераторам
Здравствуйте, Voivoid, Вы писали:
V>Так и указатели тоже будут работать с точно таким же кодом: https://ideone.com/AvzGNO
V>
V>Или о чем речь?
Да придирки... просто насколько я понял std::iterator_traits не отличает константные итераторы от не константных. Как с std::iterator_traits сделать что-бы метод принимал итераторы/указатели только не константные, иначе говоря, что бы код выше не компилировался, а вот такой компилировался?
V>Так и указатели тоже будут работать с точно таким же кодом: https://ideone.com/AvzGNO
V>
V>int main()
V>{
V> const char* p = nullptr;
V> CalcSomething( p, p );
V>}
V>
V>Или о чем речь?
Да придирки... просто насколько я понял std::iterator_traits не отличает константные итераторы от не константных. Как с std::iterator_traits сделать что-бы метод принимал итераторы/указатели только не константные, иначе говоря, что бы код выше не компилировался, а вот такой компилировался?
int main()
{
char* p1 = nullptr;
CalcSomething( p1, p1 ); // OK
const char* p2 = nullptr;
CalcSomething( p2, p2 ); // Fail
}