C ++: Почему константная ссылка на итератор, который разрешил назначить? [дублировать]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C ++: Почему константная ссылка на итератор, который разрешил назначить? [дублировать]

Сообщение Anonymous »

У меня есть следующий код ниже. < /p>
#include
#include
#include

template
class Comparator {
public:
bool operator()(T p, T q) const {
return p < q;
}
};

template
class VectorCompleteTree {

public:
typedef typename std::vector::iterator Position;
VectorCompleteTree(): V(1) {};
int size() const { return (int)(V.size() - 1); }
Position left(const Position& p) { return pos(2 * idx(p)); }
Position right(const Position& p) { return pos(2 * idx(p) + 1); }
Position parent(const Position& p) { return pos(idx(p) / 2); }
bool hasLeft(const Position& p) { return 2 * idx(p)
Вопрос:

У меня нет ошибки компиляции. Следовательно, мне нравится знать в пункте 1, почему итератор P разрешено назначать, когда параметр функции UpHeap для P является PONM Position &?>

Подробнее здесь: https://stackoverflow.com/questions/797 ... e-assigned
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»