I ' Я хотел бы знать, содержит ли какая-либо структура более одного примитива, но ее общий размер меньше или равен размеру одного регистра процессора, такого как 4-байтовый регистр, имеет ли когда-либо смысл для компилятора помещать его в один этих 4-байтовых регистров при передаче его по значению или ссылке на функцию вместо того, чтобы делать его копию в стеке вызываемого объекта или передавать на него указатель, и вообще при передаче чего-то большего, чем один примитив в функцию, такую как массив или структура, передаваемая в регистр процессора, когда-нибудь пригодится?
образец такой структуры:
struct sample{
public:
char char1;
char char2;
};
образец передачи структуры функции:
void someFunc(const sample input){
//whatever
}
void someFunc(sample input){
//whatever
}
void someFunc(sample & input){
//whatever
}
void someFunc(const sample & input){
//whatever
}