Function 按Rust中的值返回大型结构的权衡与C类似吗?

Function 按Rust中的值返回大型结构的权衡与C类似吗?,function,struct,rust,Function,Struct,Rust,在C语言中,最好将指针传递给更大的结构 按值返回的示例: typedef struct LargeStruct { char data[512]; } LargeStruct; /* snip */ void some_function() { for (int i = 0; i < total; ++i) { LargeStruct value = some_other_function(); /* use 'value' */

在C语言中,最好将指针传递给更大的结构

按值返回的示例:

typedef struct LargeStruct {
    char data[512];
} LargeStruct;

/* snip */

void some_function() {
    for (int i = 0; i < total; ++i) {
        LargeStruct value = some_other_function();
        /* use 'value' */
    }
}
typedef结构大结构{
字符数据[512];
}大结构;
/*剪断*/
使某些函数无效(){
对于(int i=0;i
在这种情况下,通常最好将指针传递给结构。例如:

    for (int i = 0; i < total; ++i) {
        LargeStruct value;
        some_other_function(&value);
        /* use 'value' */
    }
for(int i=0;i
。。。因此,每个函数调用不必复制结构

我的问题是:这是否也适用于锈蚀

返回值的处理方式是否与C不同,因此无需传递返回参数?

也与此相关: