Chciałbym wiedzieć, czy jakaś struktura zawiera więcej niż jeden prymityw, ale jego całkowity rozmiar jest mniejszy lub równy rozmiarowi pojedynczego rejestru cpu, jak rejestr 4-bajtowy, czy kiedykolwiek ma sens kompilator do umieść go w jednym z tych 4-bajtowych rejestrów, przekazując go przez wartość lub odwołanie do funkcji, zamiast robić kopię na stosie wywoływanym lub przekazywać do niego wskaźnik i na ogół przekazując coś więcej niż pojedynczemu prymitywu do funkcjonować jak tablica lub struktura przechodząca w rejestrze cpu kiedykolwiek się przyda?Czy kiedykolwiek ma sens kompilator przekazać taką strukturę w rejestrze procesora do funkcji?
próbka takiej strukturze:
struct sample{
public:
char char1;
char char2;
};
próbka przepuszczenie struktury do funkcji:
void someFunc(const sample input){
//whatever
}
void someFunc(sample input){
//whatever
}
void someFunc(sample & input){
//whatever
}
void someFunc(const sample & input){
//whatever
}
Możesz zrzucić ten tasiemek zdania. Bardzo ciężko to trawię. – sbi