Почему бы не реализовать c ++ std :: vector :: pop_front (), сдвинув указатель на вектор [0]?

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

Это похоже на другие вопросы, которые я видел о том, почему std :: vector не имеет функции pop_front () , я признаю, но я никого не спрашивал, почему вы не можете сдвинуть указатель.

6
задан Ian Ooi 1 February 2012 в 07:05
поделиться