Aviso do Compilador (nível 3) C4316
O objeto alocado no heap pode não estar alinhado para esse tipo.
Um objeto superalinhado alocado usando operator new
pode não ter o alinhamento especificado. Substitua o operator new e operator delete de tipos superalinhados para que eles usem as rotinas de alocação alinhadas, por exemplo, _aligned_malloc e _aligned_free. A seguinte amostra gera C4316:
// C4316.cpp
// Test: cl /W3 /c C4316.cpp
__declspec(align(32)) struct S {}; // C4324
int main() {
new S; // C4316
}