Разница между * (указатель + индекс) и указателем []

Выборка, которую Вы делаете, должна получить все удаленные ответвления, но она не создаст локальные ответвления для них. При использовании gitk необходимо видеть удаленные ответвления, описанные как "remotes/origin/dev" или что-то подобное.

Для создания локального ответвления на основе удаленного ответвления сделайте что-то как:

git checkout -b dev refs/remotes/origin/dev

, Который должен возвратить что-то как:

Branch dev set up to track remote branch refs/remotes/origin/dev.
Switched to a new branch "dev"

Теперь, когда Вы будете на ответвлении dev, "получение по запросу мерзавца" обновит Ваш локальный dev к той же точке как удаленное ответвление dev. Обратите внимание, что это выберет все ответвления, но только вытягивать то, которое Вы идете к верхушке дерева.

25
задан Maxpm 7 January 2011 в 04:16
поделиться

2 ответа

На самом деле, когда массив «a» инициализируется, указатель на его первую ячейку памяти, т. Е. Возвращается [0], который является ничем иным, как a;

Так что если вы делаете «a + 1», то это фактически указатель на [1]

, если вы делаете «a + 2», это фактически указатель на [2]

если вы делаете 'a + 3', это на самом деле указатель на [3] и так далее,

, поэтому, если вы сделаете * (a + 1), вы получите значение [1 ] и аналогично для других значений. если вы сделаете * (а), то на самом деле получите [0], так что я думаю, теперь довольно ясно, как это работает ..

0
ответ дан 28 November 2019 в 17:51
поделиться

Я не знаю функциональных различий, но форма myPointer[1], в конечном счете, более читабельна и гораздо менее подвержена ошибкам кодирования.

DC

Форма *(myPointer + 1) не позволяет изменять тип указателя на объект и, следовательно, получать доступ к перегруженному оператору [].

Кроме того, отладка намного сложнее

 int *ints[10];
 int myint = ints[10]; 

легче подобрать визуально, чем

 int *ints;
 int myint = *(ints + 10); 

, также компилятор может вставить проверку диапазона, чтобы перехватить ошибку во время компиляции.

DC

3
ответ дан 28 November 2019 в 17:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: