Бросок от size_t до интервала, или выполняют итерации с size_t?

Если фиксация Вы хотите зафиксировать isn’t новый:

  1. git rebase --interactive $parent_of_flawed_commit

    , Если Вы хотите зафиксировать несколько дефектных фиксаций, передайте родителя самого старого из них.

  2. редактор подойдет со списком всех фиксаций начиная с той, которую Вы дали.

    1. Изменение pick к reword (или на старых версиях Мерзавца, к edit) перед любыми фиксациями Вы хотите зафиксировать.
    2. , После того как Вы сохраняете, Мерзавец воспроизведет перечисленные фиксации.

  3. Для каждой фиксации Вы хотите к [1 110], перефразируют , Мерзавец будет ронять Вас в Вашего редактора. Для каждой фиксации Вы хотите к [1 111] редактирование , Мерзавец бросает Вас в оболочку. Если you’re в оболочке:

    1. Изменение фиксация по своему усмотрению.
    2. git commit --amend
    3. git rebase --continue

большая часть этой последовательности будет объяснена Вам выводом различных команд, когда Вы идете. Очень легкий It’s, Вы, don’t должен запомнить его †“просто, помните, что git rebase --interactive позволяет Вам исправить фиксации, неважно, когда они были.

Примечание, что Вы не захотите изменять фиксации, которые Вы уже продвинули. Или возможно Вы делаете, но в этом случае необходимо будет проявить большую заботу для общения со всеми, кто, возможно, вытянул фиксации и сделал работу сверху их. , Как я восстанавливаюсь/ресинхронизирую после того, как кто-то продвинет переоснову или сброс к опубликованному ответвлению?

8
задан Nick Bolton 12 August 2009 в 19:47
поделиться

3 ответа

Я почти всегда использую первый вариант, потому что примерно в 80% случаев я обнаруживаю, что some_func , вероятно, также должен принимать size_t.

Если на самом деле some_func принимает подписанный int, вам нужно знать, что происходит, когда vect становится больше, чем INT_MAX . Если решение неочевидно в вашей ситуации (обычно это не так), вы можете по крайней мере заменить some_func ((int) i) на some_func (numeric_cast (i)) (см. Boost.org для одной реализации numeric_cast). Это позволяет генерировать исключение, когда vect становится больше, чем вы планировали, вместо того, чтобы тихо возвращаться к отрицательным значениям.

7
ответ дан 5 December 2019 в 15:25
поделиться

Я бы просто оставил его как size_t , поскольку для этого нет веской причины не делать этого. Что вы имеете в виду под «или потенциально выполнять итерацию до максимального значения type_t»? Вы выполняете итерацию только до значения vect.size () .

3
ответ дан 5 December 2019 в 15:25
поделиться

Для большинства компиляторов это не будет иметь никакого значения. В 32-битных системах это очевидно, но даже в 64-битных системах обе переменные, вероятно, будут храниться в 64-битном регистре и помещаться в стек как 64-битное значение.

Если компилятор сохраняет int значения как 32-битные значения в стеке, первая функция должна быть более эффективной с точки зрения циклов процессора.

Но разница незначительна (хотя вторая функция «выглядит» чище)

1
ответ дан 5 December 2019 в 15:25
поделиться
Другие вопросы по тегам:

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