logo

参照による呼び出しを使用して関数に文字列を渡すにはどうすればよいですか?

さまざまなプログラミング言語で文字列を参照渡しするには、関数がコピーを操作するのではなく、元の文字列を直接変更できるようにする特定のメカニズムまたは構造を使用する必要があります。ここでは、C++、C#、Python、JavaScript でこれを実現する方法を説明します。

目次



C++ で参照による呼び出しを使用して関数に文字列を渡す方法

C++ では、' を使用して文字列を参照によって渡すことができます。 &'> 関数パラメータリストのシンボル。これにより、元の文字列を関数内で直接変更できるようになります。

例えば:

C++








#include> #include> // using '&' symbol before the name of the string> void> modifyString(std::string& str)> {> >str =>'Modified string'>;> }> int> main()> {> >std::string myString =>'Original string'>;> >modifyString(myString);> >std::cout << myString> ><< std::endl;>// Output: 'Modified string'> >return> 0;> }>

>

jsp javatpoint
>

出力

Modified string>

Java で参照による呼び出しを使用して関数に文字列を渡す方法

Java は値渡し言語であり、文字列は不変であるため、文字列を参照によって直接渡すことはできません。ただし、変更可能なデータ構造を使用するか、文字列をカスタム オブジェクトにカプセル化することによって、同様の効果を実現できます。

可変データ構造の使用 (StringBuilder)

使用できますStringBuilder>クラスは変更可能な文字シーケンスであり、文字列のようなオブジェクトを変更して関数に渡します。これは厳密には文字列を参照渡しするわけではありませんが、元の文字列のようなオブジェクトを変更するという望ましい効果を達成できます。

手順:

  1. を作成しますStringBuilder>初期文字列を含むオブジェクト。
  2. を渡すStringBuilder>関数に対するオブジェクトです。
  3. を変更します。StringBuilder>関数内のオブジェクト。
  4. 変更された文字列にアクセスします。StringBuilder>関数呼び出し後のオブジェクト。

例:

ジャワ




public> class> StringModificationExample {> >static> void> modifyString(StringBuilder strBuilder) {> >strBuilder.append(>' (Modified)'>);> >}> >public> static> void> main(String[] args) {> >StringBuilder myStringBuilder =>new> StringBuilder(>'Original String'>);> >modifyString(myStringBuilder);> >String myString = myStringBuilder.toString();> >System.out.println(myString);>// Output: 'Original String (Modified)'> >}> }>

>

パンダロック

>

出力

Original String (Modified)>

C# で参照による呼び出しを使用して関数に文字列を渡す方法

C# では、次を使用して文字列を参照によって渡すことができます。 ' ref'> 関数パラメータリストのキーワード。これにより、元の文字列を関数内で直接変更できるようになります。

例:

C#




using> System;> class> Program {> >static> void> ModifyString(>ref> string> str) {> >str =>'Modified string'>;> >}> >static> void> Main() {> >string> myString =>'Original string'>;> >ModifyString(>ref> myString);> >Console.WriteLine(myString);>// Output: 'Modified string'> >}> }>

文字列内の文字

>

>

出力

Modified string>

Python で参照による呼び出しを使用して関数に文字列を渡す方法

Python では文字列は不変であるため、参照によって渡すことはできません。ただし、次の方法でこの制限を回避できます。 通過 変更可能なデータ構造。 リストを取得し、それを文字列に変換し直す 必要に応じて。

例:

パイソン




def> modify_string(string_list):> >string_list[>0>]>=> 'Modified string'> my_string_list>=> [>'Original string'>]> modify_string(my_string_list)> my_string>=> my_string_list[>0>]> print>(my_string)># Output: 'Modified string'>

>

偏微分記号ラテックス
>

出力

Modified string>

JavaScript で参照による呼び出しを使用して関数に文字列を渡す方法

JavaScript では、次のようにして同様の効果を実現できます。 文字列を保持するプロパティを持つオブジェクトを渡す 。そうすれば、 関数内のプロパティを変更します。

例:

JavaScript




function> modifyString(obj) {> >obj.str =>'Modified string'>;> }> const myObj = { str:>'Original string'> };> modifyString(myObj);> const myString = myObj.str;> console.log(myString);>// Output: 'Modified string'>

>

>

出力

Javaで例外処理をスローする
Modified string>

これらのプログラミング言語では、言語固有の手法を使用して、文字列を参照によって渡す (または同様の効果) ことができます。ただし、Python と JavaScript の文字列の不変性は採用するアプローチに影響を与える可能性があるため、言語のルールとデータ構造を認識することが重要です。