В большинстве уроков или фрагментов кода в сети можно увидеть следующее:
float *arr= (float*) _aligned_malloc(length * sizeof(float), 16);
__m128 *m1 = (__m128*)arr;
Это нарушает строгие правила наложения имен или нет?Я думаю, что это так, но тогда, конечно, все эти учебные пособия не игнорируют его просто для удобства, и, поскольку __m128 - это объединение, содержащее float [4], может быть, я неправильно понимаю некоторые запутанные части об этом.