Выравнивание массива элементов в классе не работает - PullRequest
0 голосов
/ 25 июня 2019

Я использую следующее для 16-байтового выравнивания 4-элементного массива с плавающей точкой в ​​классе

class Foo
{
    // ... some code

    private:
    alignas(16) float array[4];
};

Переменная не выровнена. Это почему? Я предполагаю, что выравнивание зависит от выравнивания экземпляра Foo, поскольку внутреннее смещение переменных-членов является статическим и не корректируется во время выполнения. Это правильно или я что-то упустил? Таким образом, одна вещь, которую нужно исправить, это выровнять Foo с чем-то >=16 так, чтобы внутренние смещения были фиксированными?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...