В дополнение к производительности во время выполнения , описанной в ответах, связанных со строкой кэша, я думаю, следует также учитывать производительность памяти , то есть размер объекта класса.
Из-за заполнения размер объекта класса зависит от порядка объявления переменных-членов.
Следующее объявление, вероятно, займет 12 байтов
class foo {
char c1;
int i;
char c2;
}
Однако при простом переупорядочении порядка объявления членов следующее, вероятно, займет 8 байтов
class bar {
int i;
char c1;
char c2;
}
В машинах, выровненных по 4-байтовым словам:
sizeof( foo ) = 12
но
sizeof( bar ) = 8