> 文章列表 > C++ 函数 参数和返回值 的 传递方式

C++ 函数 参数和返回值 的 传递方式

C++ 函数 参数和返回值 的 传递方式

C++参数传递方式

1.基本类型

传值void func(int a){a=1;}
如需要传引用要指定void func(int & a){a=1;}

2.类类型

传值

class apple{public : int x=1;int y=2;
}; void func(apple  a){a.x=10;
}int main(){apple ap;cout<<ap.x<<endl;//1func(ap);cout<<ap.x;//1return 0;
} 

容器同理:

void func_v(vector<int> t){t.push_back(2);
}int main(){vector<int> t;t.push_back(1);cout<<t.size()<<endl;//1func_v(t);cout<<t.size();//1return 0;
} 

如需要传引用要指定

class apple{public : int x=1;int y=2;
}; void func(apple & a){a.x=10;
}int main(){apple ap;cout<<ap.x;//1func(ap);cout<<ap.x;//10return 0;
} 

容器同理:

void func_v(vector<int> & t){t.push_back(2);
}int main(){vector<int> t;t.push_back(1);cout<<t.size()<<endl;//1func_v(t);cout<<t.size();//2return 0;
} 

C++返回值传递方式

1.基本类型

传值int rep(){ return ppp; }
如需要传引用需要指定int & rep(){ return ppp; }

2.类类型

传引用

vector<int> rev(){return t;
}

对于函数内部变量则传值

vector<int> rev(){vector<int > t;return t;
}