Если оператор или цикл

Удалить ничего не удаляет - он просто отмечает, что память «свободна для повторного использования». До тех пор, пока некоторые другие вызовы выделения не будут зарезервированы и заполнят это пространство, у него будут старые данные. Однако, полагаясь на то, что это большой нет-нет, в основном, если вы удаляете что-то забыть об этом.

Один из методов в этом отношении, который часто встречается в библиотеках, - это функция Delete:

template< class T > void Delete( T*& pointer )
{
    delete pointer;
    pointer = NULL;
}

Это предотвращает случайный доступ к недопустимой памяти.

Обратите внимание, что вполне нормально называть delete NULL;.

1
задан abc 13 July 2018 в 21:37
поделиться

1 ответ

Вы можете проверить использование оператора switch.

switch (ScreenIndex)
{
    case 0:
        Debug.Log ("X (should be 0) = " + ScreenIndex);
        //If the user is at screen index 0, then a loop should be querying position 0 only here. If the user is at position 1 then a loop should be 
        //querying position 4 - this is because position 1,2,3 will be queried in 'OnEraseProgressScratch2', 'OnEraseProgressScratch3' and 'OnEraseProgressScratch4'.
        if (UIHandler.GetDynamicCorrectAnswerArray () [ScreenIndex].ToString ().Contains ("Correct"))
        {
            Debug.Log ("Answer 1 is correct");
        }
    break;
    case 1:
        ScreenIndex += 3;

        Debug.Log ("X (should be 4) = " + ScreenIndex);

        if (UIHandler.GetDynamicCorrectAnswerArray () [ScreenIndex].ToString ().Contains ("Correct"))
        {
            Debug.Log ("Answer 1 is correct");
        }
    break; //... and so on

или ... Вы можете просто сделать другой метод.

public void Method (int screenIndex, int AddToIndex)
{
    Debug.LogFormat ("X (should be {0}) = {1}", ScreenIndex, ScreenIndex + AddToIndex);
    ScreenIndex += AddToIndex

    if (UIHandler.GetDynamicCorrectAnswerArray () [ScreenIndex].ToString ().Contains ("Correct"))
    {
        Debug.Log ("Answer 1 is correct");
    }
}

и просто составить формулу для вашего метода что-то вроде

int toAdd = ScreenIndex * 3;
1
ответ дан Lee Taylor 17 August 2018 в 12:07
поделиться
  • 1
    Просто удалось взглянуть на ваш ответ на моем ноутбуке (изначально, я посмотрел на свой телефон), и я вижу, что ваше предложение относительно метода делает работу! Спасибо за вашу помощь! – abc 14 July 2018 в 03:45
Другие вопросы по тегам:

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