Beeinflusst alignas den Wert von sizeof?

#include <iostream>
using namespace std;

int main()
{
    alignas(double) unsigned char c[1024];   // array of characters, suitably aligned for doubles
    alignas(16) char d[100];            // align on 16 byte boundary
    cout<<sizeof(c)<<endl;
    cout<<sizeof(d)<<endl;
    constexpr int n = alignof(int);     // ints are aligned on n byte boundarie
    cout<<n<<endl;
}

Hier ist der Code füralignas(double) unsigned char c[1024];, es bedeutet dasc sollte an @ ausgerichtet sedouble, dasdouble ist8 Bytes. Also ich denkesizeof(c) sollte sein1024*8 bytes, aber die Konsolenausgabe ist1024.

Also ich bin verwirrt. Wer kann mir den Grund nennen?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage