関数に渡す引数について
関数に渡す引数について
通常は関数内では引数を参照して計算するだけですが、計算結果を引数に(反映)戻すことは出来ないでしょうか?
戻り値は1個だけで、多くの変数の計算結果を得たいのですが・・・
変数をアドレスで渡す以外に簡単な方法はないでしょうか?
戻り値は1個だけで、多くの変数の計算結果を得たいのですが・・・
変数をアドレスで渡す以外に簡単な方法はないでしょうか?
Re:関数に渡す引数について
こういうことですか?
main(){
int a = 5;
int b = 10;
calc(a,b);
}
int calc(int a, int b){
a+bの解
a-bの解
a*bの解
a/bの解
}
このように関数内で複数解が出る時に
全てを取得したいっていうことでしょうか?
main(){
int a = 5;
int b = 10;
calc(a,b);
}
int calc(int a, int b){
a+bの解
a-bの解
a*bの解
a/bの解
}
このように関数内で複数解が出る時に
全てを取得したいっていうことでしょうか?
Re:関数に渡す引数について
パコネコ さん
回答ありがとうございます。
パブリックに宣言すれば問題ないのですが、引数のみ入れ替えて同じ処理をする関数なので、
パブリック宣言したのでは意味がなくなってしまいます。
この場合、同じ処理をする関数を2個作成することになりメモリー資源に不利となります。
回答ありがとうございます。
パブリックに宣言すれば問題ないのですが、引数のみ入れ替えて同じ処理をする関数なので、
パブリック宣言したのでは意味がなくなってしまいます。
この場合、同じ処理をする関数を2個作成することになりメモリー資源に不利となります。
Re:関数に渡す引数について
ポインタを使いたくないのなら、参照を使ってはどうでしょうか。
void Swap(int& a, int& b)
{
int tmp = a;
a = b;
b = tmp;
}
int main()
{
int A = 5, B = 10;
Swap(A, B);
return 0;
}
void Swap(int& a, int& b)
{
int tmp = a;
a = b;
b = tmp;
}
int main()
{
int A = 5, B = 10;
Swap(A, B);
return 0;
}
Re:関数に渡す引数について
だいちゃん さん
回答ありがとうございます。
main(){
int a = 5;
int b = 10;
calc(a,b);
}
int calc(int a, int b){
この関数でaが変更になった場合aに結果が入らないか、ということです。
}
回答ありがとうございます。
main(){
int a = 5;
int b = 10;
calc(a,b);
}
int calc(int a, int b){
この関数でaが変更になった場合aに結果が入らないか、ということです。
}
Re:関数に渡す引数について
>int calc(int a, int b){
>
>この関数でaが変更になった場合aに結果が入らないか、ということです。
>
>}
受け取ったaはあくまでコピーなので、変更することはできません。
なぜこのようにしたいのか分かりませんが、構造体にまとめてしまうのはどうでしょうか。
>
>この関数でaが変更になった場合aに結果が入らないか、ということです。
>
>}
受け取ったaはあくまでコピーなので、変更することはできません。
なぜこのようにしたいのか分かりませんが、構造体にまとめてしまうのはどうでしょうか。
Re:関数に渡す引数について
シエルさん
毎度ありがとうございます。
今後はそのようにすれば可能のようですが・・・
今回はゴタゴタと沢山変数を設定した後ですので今から切り替えはシンドイです。
毎度ありがとうございます。
今後はそのようにすれば可能のようですが・・・
今回はゴタゴタと沢山変数を設定した後ですので今から切り替えはシンドイです。
Re:関数に渡す引数について
いえ、こちらこそありがとうございます。
私も参照渡しというのを初めて知ることが出来ました。
あまりポインタとの違いは分かりませんでしたが、勉強になりました。
私も参照渡しというのを初めて知ることが出来ました。
あまりポインタとの違いは分かりませんでしたが、勉強になりました。