Czy przy takim kodzie:
char dupa[] = {'d', 'u', 'p', 'a'};
//...
while ( something ) {
//..
foo(sizeof(dupa));
//..
};
przy każdej iteracji będzie wywoływane sizeof(dupa), czy też optymalizator sobie to zamieni na 4 przy kompilacji?
Po co mi to? W kodzie mam wiele parametrów wyliczanych na podstawie rozmiaru struktur i przy modyfikacjach chcę wprowadzać zmiany w jednym miejscu (definicji), a nie w wielu. Mniej błędów :)
P.S. Nie znam assemblera, zatem odpowiedzi w stylu "sprawdź sobie" nie będą dla mnie pomocne.