Je me pose des questions sur ce à cause de la question de la portée. Par exemple, considérez le code
typedef struct {
int x1;/*top*/
int x2;/*bottom*/
int id;
} subline_t;
subline_t subline(int x1, int x2, int id) {
subline_t t = { x1, x2, id };
return t;
}
int main(){
subline_t line = subline(0,0,0); //is line garbage or isn't it? the reference
//to subline_t t goes out of scope, so the only way this wouldn't be garbage
//is if return copies
}
Donc ma question est, sera le retour à la déclaration de toujours copier? Dans ce cas, il semble fonctionner, je suis donc amené à croire que le retour ne copie. Si elle ne copie, il copie dans tous les cas?