Почему нельзя реализовать pop_front ()
для векторов C ++ путем простого сдвига указателя, содержащегося в название вектора на одну точку? Итак, в векторе, содержащем массив foo
, foo
является указателем на foo [0]
, поэтому pop_front ()
сделает указатель foo = foo [1]
, а оператор скобок просто выполняет обычные вычисления с указателем. Связано ли это с тем, как C ++ отслеживает используемую вами память для чего, когда он выделяет место для массива?
Это похоже на другие вопросы, которые я видел о том, почему std :: vector
не имеет функции pop_front ()
, я признаю, но я никого не спрашивал, почему вы не можете сдвинуть указатель.