我想知道某种结构是否包含多个原语,但其总大小小于或等于单个 cpu 寄存器(如 4 字节寄存器)的大小,编译器将其放入是否有意义在这些 4 字节寄存器中的一个中,当通过值或引用传递它时,而不是在被调用者堆栈上复制它或传递指向它的指针,并且通常在将不止一个原语传递给函数时传入 cpu 寄存器的数组或结构会派上用场吗?
这种结构的样本:
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
}