Путаница между временной и пространственной локализацией в реальном коде

Я читал этот вопрос , я хотел спросить больше о коде, который он показал, т.е.

for(i = 0; i < 20; i++)
    for(j = 0; j < 10; j++)
        a[i] = a[i]*j;

Вопросы такие,

  1. Я понимаю временную локальность , Я думаю, что ссылки на i и j должны быть временными местами. Я прав?
  2. Я также понимаю пространственную локальность, поскольку на вопрос, который я связал, отвечает, что ссылки на [i] должны быть пространственной локальностью. Я прав?
  3. Человек сказал:

    «Внутренний цикл будет вызывать тот же адрес памяти при доступе к [i] десять раз, так что, я думаю, это пример временной локальности. Но есть ли там пространственная локальность также в вышеупомянутом цикле? »

    Я не согласен с его предположением. Поскольку ссылки, генерируемые элементом [i] , должны быть пространственной локальностью (они будут ссылаться на следующий элемент в блоке). Я прав?

13
задан Community 23 May 2017 в 10:31
поделиться