今天写代码的时候,不确定struct用引用传递给函数的时候,他的成员在函数里面改变的时候,是否能影响到外面。
实验了一下
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> typedef struct _ABC { int id; _ABC() : id(0) { } } ABC; void func(ABC & abc) { abc.id = 3; } int main() { ABC abc; func(abc); printf("abc id: %d\n", abc.id); return 0; }
发现是可以改变的:
abc id: 3
原文:http://www.cnblogs.com/charlesblc/p/7273139.html