タイトルの通りの質問内容です。
僕が調べた限りは「同じ」と言う意見が多数でした。
中には

・参照渡しした引数の関数通過後の結果が戻り値、
 関数自体が返すのが返り値

とか

・引数なしの関数で戻るのが戻り値、引数ありの関数で
 戻るのが返り値

とかはたまたその逆とか、混沌としています。

気になります。

A 回答 (3件)

同じものだと考えて結構でしょう。

所詮両方とも英語の "return value" の訳語ですから。
    • good
    • 0
この回答へのお礼

ありがとうございます。
「外来語」言い換え提案
http://www.kokken.go.jp/public/gairaigo/Teian1/i …
の第2回で取り上げて欲しいものです(笑)。

お礼日時:2003/04/28 13:09

私も同じだと思います。

あと、戻り値の方が一般的なように思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
返り値、ってなんとなくM$が好む言い回しっぽいイメージですね。

お礼日時:2003/04/28 13:07

同じと考えていいのではないでしょうか?


違うものだと言っている人たちの説は、自己ルールだと思います。
もしくは、どこかでそういう説明を見て知ったかぶりしてる人か。
    • good
    • 0
この回答へのお礼

ありがとうございます。
実は僕はずっと

関数自体が返す = 返り値
ポインタ渡し引数の値 = 戻り値

だと思ってました。
どこでそんな知識をつけたのやら・・・。

お礼日時:2003/04/28 13:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QRSAのeの実際値について

RSAの公開指数eは固定値(主に65537)でもセキュリティ的な問題は
発生しないとの事ですが、それはなぜでしょうか?

要は、eから2つの素数pとqを推測する事が難しいので、eが固定値
でも問題ないと言うことでしょうか?

よろしくお願いします。

Aベストアンサー

それは公開する鍵がeの場合です。
そもそも公開する鍵なので固定値でも問題ないのです。
デジタル署名にRSAを用いる場合はeは固定値ではいけません。

>要は、eから2つの素数pとqを推測する事が難しいので、eが固定値
でも問題ないと言うことでしょうか?

これが成り立っていないと公開鍵暗号方式としては失格ですね。

Q値を返り値に返すのと参照渡しした引数に格納することの違い

プログラミングをしていて、次のような2種類の形式の関数をみることがあります。

void sum(int a, int b, int& c); //aとbの和をcに格納する
int sum(int a, int b); //aとbの和を返す

上の例のint &cは参照渡しされる引数という意味で、CやC++、PHPなどで同様です。

この、計算結果を参照渡しした引数に格納するのと、返り値に返すことの違いがよく分かりません。計算結果が複数ある場合は、前者の方が便利でしょう。しかし計算結果が1つだけなのに前者の方法を採っている関数も多く見かけます。個人的には、計算結果を返り値として返す後者の方法の方が感覚的に自然だと思うのですが、なぜ前者のような関数が存在するのか、教えていただきたく存じます。

Aベストアンサー

・複数の値を返したい

・↑の応用) 値とエラー等の情報を返したい
if ( MySqrt(a,b) ) { printf( "ERROR" ); } // a>0ならb=√a,戻り値0, a<=0ならbは無効で戻り値1

・戻り値として返すとパフォーマンスが悪い(C/C++の構造体等)
あるいは、関数内で変数に代入→戻ってきて呼出し側の変数に代入、というわずかな処理でも速くしたい。

・↑と関係して、同様の関数と引数の形を揃えた
構造体用が MyFunc1(a,b) / 数値用が b = MyFunc2(a) と見た目が変わらないように。

・戻り値の型を厳密に指定したい
double c = sum(a,b) ;等と暗黙の型変換をしないようにしたい。

・戻り値を返すサブルーチンが書けなかった言語からのなごり

以上、思いついたものを書いてみました。

QEXCELの条件付き書式で、各行のE列よりも当該セルの値が大きい場合は

EXCELの条件付き書式で、各行のE列よりも当該セルの値が大きい場合は塗りつぶしを赤、小さい場良いには青にするには?

条件付き書式で、例えば
E15セルよりも値の大きいF15は赤、小さい場合は青
E16セルよりも値の大きいF16は赤、小さい場合は青
以下、同様
という書式絵っていをF列に等に設定したい場合に
条件記述の上手い方法が分かりません。
Exxのxxの部分が自動的にインクリメントされない気がするのですが
どうしたら、上記を実現できますか?

Aベストアンサー

添付画像のようにF15に対して条件付書式を設定します。

式入力の際にセル選択を普通にマウスクリックで行うと$E$15のように絶対セル表現になってしまうので、$が付かないセル表現にするのがポイントです。

これで、F15に書式設定できましたので、F15をコピーして
F16以降を選択して、
「編集メニュー→形式を選択して貼り付け」
を行い、書式だけを貼り付ければご所望の状態になると思います。

QVBAの関数で引数渡しでエラー

関数呼び出しでObject型を渡したいのですが「引数の型が一致していません」との
エラーになってしまいます。
以下のプログラムをどのように修正すればよいのでしょうか?

Sub Test()
Dim obj As Object
Set obj = CreateObject("Scripting.Dictionary")
    :
  Sample(obj)
End Sub

Function Sample(obj As Object)
End Function

Aベストアンサー

文法エラーですね。

Sample(obj)
↓変更
Sample obj もしくは Call Sample(obj)

Qこんにちは! エクセルの条件付き書式について質問す。 e列のどこかに値が入ったら、その行全体をグ

こんにちは!

エクセルの条件付き書式について質問す。

e列のどこかに値が入ったら、その行全体をグレーアウトするというルールを「e列全体に対して」作成したいです。
例)e4に値が入ったら、a4-e4までをグレーにする など
しかし、どうしてもルールをe列全体に適用できません!

どなたか、手動でコピペする以外に適用範囲を拡大する方法をご教示いただけないでしょうか?

お手数ですがご回答お待ちしています。

Aベストアンサー

たぶん、e4を$e$4にしてるんでしょう。
絶対参照やめて相対参照にしましょう。

QDelphiでの関数の戻り値を別の型で複数に。

 どうお過ごしですか、ご主人様?
少し困っている事があるんですぅー。

Delphiで関数の戻り値を別の型で、複数にしたいのですが、どうしたらいいのでしょうか?
そもそもこういう場合は別の関数に分けた方がいいのでしょうか?
内容は数十行しかなく、まとめたい処理なんです。

グローバル変数は、なんかかっこ悪いので使いたくないし、クラスはまだよく分からないし。
あ、でもでも、普通は関数を分けるんでしょうか?
よろしくお願いします。

Aベストアンサー

変数引数(var宣言つきの引数)を使って、値を戻しては。
レコード型で返すという手もあります。

参考URL:http://info.borland.com/techpubs/delphi/delphi5/oplg/procfunc.html#7744

Qe^log(log3) の値は?(logの底はe)

数学で、e^log3 の値は、logの底がeなら、3だということは分かるのですが、

e^log(log3) の場合は、どのような値になるのでしょうか?

log3 になるのですか?

Aベストアンサー

 y=e^log(log3)
とおいて両辺の自然対数をとると
 log(y)=log(log3)
真数同士比較して
 y=log3
これから y=e^log(log3) のyが
 y=log3
のyすなわち
 e^log(log3)=log3
と分かります。

Qc言語 関数の引数に関数?他

初心者でつまずいてます。
ご存知の方教えていただけないでしょうか?
http://developer.apple.com/samplecode/PlayAudioFileLite/PlayAudioFileLite.html
のサンプルソースを見ているのですが

MyFileRenderProc宣言内の
err = AudioConverterFillComplexBuffer(converter, MyACComplexInputProc ,inInputDataProcUserData , &inNumFrames, ioData, outPacketDescription);
のMyACComplexInputProcと

setupCallbacks宣言内の
renderCallback->inputProc = MyFileRenderProc;
のMyFileRenderProc

はどういう状態なのでしょうか?
関数の戻り値が入るような気がするのですが
引数が記述されてないし,,,
よろしくお願いします。

初心者でつまずいてます。
ご存知の方教えていただけないでしょうか?
http://developer.apple.com/samplecode/PlayAudioFileLite/PlayAudioFileLite.html
のサンプルソースを見ているのですが

MyFileRenderProc宣言内の
err = AudioConverterFillComplexBuffer(converter, MyACComplexInputProc ,inInputDataProcUserData , &inNumFrames, ioData, outPacketDescription);
のMyACComplexInputProcと

setupCallbacks宣言内の
renderCallback->inputProc = MyFileRenderProc;
のMyFileRenderProc

...続きを読む

Aベストアンサー

AudioConverterFillComplexBuffer の第2引数プロトタイプ宣言や、renderCallback->inputProc での構造体メンバinputProcの型が書かれてないので確実とはいえませんが、まず間違いなくこれらは関数へのポインタ型変数で、参照されている MyACComplexInputProc や MyFileRenderProcは、関数自体(関数処理プログラムのアドレス)を表していると思います。関数アドレス自体でなく、別の「関数へのポインタ型変数」かもしれません。

下記のプログラムの意味が分かるでしょうか?2行目が関数アドレスの「関数へのポインタ」への代入、4行目が「関数へのポインタ」から「関数へのポインタ」への代入です。
double (*p)(double),(*q)(double);
p=sin; q=cos;
printf("%10.8f\n",(*p)(3.1416/2));
p=q;
printf("%10.8f\n",(*p)(3.1416/2));

Q(1+(1/n))^nの極限でeの値を求める

lim_n→∞ (1+(1/n))^nのとき値がeに近づいていくということは知っていますが、(1+(1/n))^nを計算機に入力し、nの値をだんだん大きくしていくと(1+(1/n))^nがeより大きくなってしまいます。

何故このようなことが起こっているのか詳しく説明してくれる方いませんか?

Aベストアンサー

大きくなる原因をより詳しく言うと
2進数で表現すると n=10^p に対する 1+1/n の値は正確に表現できず, 常に 0.5 ulp 程度の誤差は考えられる. IEEE754 の倍精度実数であれば 2^-53 程度. つまり, もとから (1+1/n)^n の真の値を計算しているわけじゃなくて (1+1/n+ε)^n の計算をしている (手元計算機における ε は絶対値でだいたい 10^-16 くらい).
この ε の存在は n が小さいときには ((1+1/n)^n の値が e から離れているので) 無視できるが, n が大きくなると無視できなくなる. で, n=10^9 のときに破綻した, と.
実際, n を 2 のべきにすると p=52 まできちんと計算していくはずです.

Q【C#】クラスのコンストラクタ引数参照渡しでエラー

C#の.NETでWindowsアプリを作成しております。
C++/CLI経験はありますが、C#は全くの素人です。

AクラスからBクラスに、Cクラスを参照渡しで渡し、
BクラスにてCクラスのメンバ変数の値を書き換えた後、
Aクラスでその値を使用するといったプログラムを作成しようと思っています。

Bクラスを生成する際に、コンストラクタの引数渡しにて、
Cクラスを渡す書き方をしたのですが、下記エラー

エラー CS0051: アクセシビリティに一貫性がありません。
パラメータの型 'ref Test.C' のアクセシビリティは
メソッド 'Test.B.B(ref Test.C)' よりも低く設定されています。

が発生してしまい、解決法が分かりません。
何か根本的なことが間違っているのでしょうか。。

解決策をご存知の方おられましたら、ご教示お願い致します。

下記にサンプルコードを記載します。

【Aクラス】
B b = new B( C c );

【Bクラス】
namespace Test
{
public partial class B : Form
{
public B(ref C c)// コンストラクタ
{
InitializeComponent();
}
}
}

【Cクラス】
namespace Test
{
class C
{
public int hoge;
}
}

C#の.NETでWindowsアプリを作成しております。
C++/CLI経験はありますが、C#は全くの素人です。

AクラスからBクラスに、Cクラスを参照渡しで渡し、
BクラスにてCクラスのメンバ変数の値を書き換えた後、
Aクラスでその値を使用するといったプログラムを作成しようと思っています。

Bクラスを生成する際に、コンストラクタの引数渡しにて、
Cクラスを渡す書き方をしたのですが、下記エラー

エラー CS0051: アクセシビリティに一貫性がありません。
パラメータの型 'ref Test.C' のアクセシビ...続きを読む

Aベストアンサー

アクセス修飾子というのは,publicやinternalを指します。
Cは省略されているため,internalになっています。

よって,
public B(ref C c)
を,
internal B(ref C c)
とするのが,
> メソッドのアクセス修飾子を引数の型のアクセス修飾子にあわせる
の方法になります。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報