История изменений
Исправление eao197, (текущая версия) :
Хорошо, поставим вопрос по другому. Вот выучили мы некое подмножество С++ без адресной арифметики - а зачем?
Затем, что можно использовать кучу обобщенных алгоритмов на итераторах.
Какую задачу мы будем на нём решать, которая не решается на любом более другом языке без адресной арифметики?
Я не понимаю этот вопрос в том смысле, что адресная арифметика – это часть C++. Изучать ее можно прямо в C++, для этого не нужно предварительно знакомиться с Си.
Тут скорее нужно вести разговор о том, что ваш пример с вектором – он не про указатели, он более общий. Думаю, что можно было постараться и придумать что-то именно про указатели.
Например, собственный аллокатор на базе арены.
Да, для новичка в C++ – это оверкил, но для новичка и просто арифметика указателей – не меньший оверкил.
А вот вы можете привести примеры из практики, где в современном С++ нужна адресная арифметика? Может быть где-то в мире embedded? Потому что в более-менее прикладном C++ мне эта самая арифметика и не нужна особо, а там где есть что-то типа p++
или p--
(где p – это указатель), указатели оказываются частным случаем итераторов.
Исходная версия eao197, :
Хорошо, поставим вопрос по другому. Вот выучили мы некое подмножество С++ без адресной арифметики - а зачем?
Затем, что можно использовать кучу обобщенных алгоритмов на итераторах.
Какую задачу мы будем на нём решать, которая не решается на любом более другом языке без адресной арифметики?
Я не понимаю этот вопрос в том смысле, что адресная арифметика – это часть C++. Изучать ее можно прямо в C++, для этого не нужно предварительно знакомиться с Си.
Тут скорее нужно вести разговор о том, что ваш пример с вектором – он не про указатели, он более общий. Думаю, что можно было постараться и придумать что-то именно про указатели.
Например, собственный аллокатор на базе арены.
Да, для новичка в C++ – это оверкил, но для новичка и просто арифметика указателей – не меньший оверкил.
А вот вы можете привести примеры из практики, где в современном С++ нужна адресная арифметика? Может быть где-то в мире embedded? Потому что в более-менее прикладном C++ мне эта самая арифметика и не нужна особо, а там где есть что-то типа p++ или p– (где p – это указатель), указатели оказываются частным случаем итераторов.