Могу ли я как-то ограничить это?

Я смотрелДоклад Майка Актона о Data-ориентированном дизайне в C ++ в CppCon 2014, и он приводит этот пример:

int Foo::Bar(int count)
{
    int value = 0;
    for (int i = 0; i < count; i++) {
        if (m_someDataMemberOfFoo) value++
    }
    return value;
}

И объясняет, как некоторые компиляторы продолжают перечитыватьm_someDataMemberOfFoo в каждой итерации, возможно, потому что его значение может меняться из-за одновременного доступа. Независимо от того, уместно ли это делать компилятору - можно ли сказать компилятору специально игнорировать любую возможность одновременного доступа к чему-либо во время выполнения какого-либо метода, чтобы он мог лучше оптимизироваться?

Другими словами, могу ли я сказать компилятору, чтоthis является__restrict__ред?

Ответы на вопрос(2)

Ваш ответ на вопрос