はPHPやC++の2ヶ所がいつどのようなパススルーによる価値は実際にパススルーによる。
-
06-09-2019 - |
質問
はPHPやC++の2ヶ所が必要と考えていけ渡しについての簡単なデータ型変数として関数の引数をとることで値を変更?
など
$count = 2;
foo($count);
echo $count;
第3線コマンドをカウントを表示以外のもの2.しか知らなかっPHPのびC++することにもなりかねません。他にある場所で失業が生まれるのでしょうか。
更新: このようなところ"を通価値"と"パス参照により".であれば通過するオブジェクトにJava、Perl、PHP、Python、Ruby、自動的にパススルーによる参照"であり、インスタンス変数の価値観のオブジェクトを変更できます。どのお渡しについて非オブジェクト?
解決
多くの他の言語支援などの"パス参照により"--Perl、Fortran、Pascal、Visual Basic、...
ているものに気をつりのさるとしあきだいえっと難しいを言いたい事を言い合いましょう!-)
編集:に更新、まJava、Python、同種のものと思っていたが、あるきっかけできを再現できませんでお例(Java):
int count = 2;
whatever(count);
/* count here is CERTAIN to be still 2 */
又は(Python):
count = 2
whatever(count)
# count here is CERTAIN to be still 2
PythonとJavaのスタイルとしても知られ"によるオブジェクト参照"とは"変数"参照):い渡された(または担当)への参照オブジェクト(ここでは、オブジェクトmutatorsの相手先での呼び出し方mutatorsこのオブジェクト)は、"変数"(後の変数の場合に使用するパスを引数ともとは同じオブジェクトを、別のオブジェクトこの特徴が最も明確に見て不変などのオブジェクトに対して、(Java、Python)数字の文字列です。
他のヒント
できな変更は、変数をC++の場合を除き 明示的に 指定することができまを参考にしています。場合は定期的に(参照)を引数にとり、そのコピーできる ない を変更します。場をお読みいただき、ご理解のAPIでは、その必要はありませんする け渡しについての簡単なデータ型変数として関数の引数.
void func(type & arg);
変更も可能で
void func(type arg);
きません。通常のC++となりますの参考に引数のない限り、APIしたい、価値の変更の出力パラメータで指定)になります。
とAlex既に申し上げたように、多くの言語をサポートする パス参照 ム.
まだ注意が必要の場合の言語ではない 明らか 場合は変数が渡され による価値 または 参照.
昔、FORTRAN渡された定数による参考値です。また、一定の2型の型が割り当て3です。その後、帰国後、このコード
x = 2 + 2
セx6.わからない場合は現代のFORTRANコンパイラをとろうとしているのです。
以下にこれまでの議論は、最近やっとyプログラミング言語のデザイン用のパススルーによる参照"で厳しく、例えば、javaではないのでパススルーにより、厳重に管理いたします。
は、パプリミティブによる価値(クリアして、誰にでも思ってはいパスへの参照オブジェクトによる値です。Okいのか今かと考え、以下のperlのコードです。
sub addFoo {
my ($arrayRef) = @_;
push @{$arrayRef},"foo";
}
my @array = (1,2,3);
my $arrayRef; # FUTURE reference (equivalent to pointer C) to @array.
addFoo($arrayref = \@array); #1.
addFoo(\@array); #2.
addFoo($arrayRef); #3.
print join(" ",@array),"\n"; # result "1 2 3 foo foo foo\n";
私の質問の場合の三つの代替電話addFooとみなされるパススルーによる参照に対してパスが---。どのようにお考えの答えは明確には三つのものとはいえないために番号#1.#2.どうも全く同じです。少なくとも2号が明示的に考慮してパススルーによる参照の一部perlのmanページ、webサイト