logo

Kako posredovati niz funkciji s klicem po sklicu?

Posredovanje niza po sklicu v različnih programskih jezikih vključuje uporabo posebnih mehanizmov ali konstruktov, ki funkciji omogočajo neposredno spreminjanje izvirnega niza, namesto dela s kopijo. Tukaj bom razložil, kako to doseči v C++, C#, Python in JavaScript.

Kazalo



Kako posredovati niz funkciji s klicem po sklicu v C++

V C++ lahko podate niz po sklicu z uporabo ' &'> simbol na seznamu funkcijskih parametrov. To vam omogoča spreminjanje izvirnega niza neposredno v funkciji.

Na primer:

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;> }>

>

np oblazinjenje
>

Izhod

excel odstranite prvi znak
Modified string>

Kako posredovati niz funkciji s klicem po sklicu v Javi

Niza ne morete posredovati neposredno s sklicevanjem, saj je Java jezik za prenos po vrednosti in so nizi nespremenljivi. Vendar pa lahko dosežete podoben učinek z uporabo spremenljivih podatkovnih struktur ali z inkapsulacijo niza v objekt po meri.

Uporaba spremenljive podatkovne strukture (StringBuilder)

Lahko uporabiteStringBuilder>razred, ki je spremenljivo zaporedje znakov, za spreminjanje predmeta, podobnega nizu, in njegovo posredovanje funkciji. Čeprav to ni strogo posredovanje niza po sklicu, vam omogoča, da dosežete želeni učinek spreminjanja izvirnega predmeta, podobnega nizu.

Koraki:

  1. UstvaritiStringBuilder>objekt z začetnim nizom.
  2. PredajStringBuilder>nasprotovati funkciji.
  3. SpremeniteStringBuilder>objekt znotraj funkcije.
  4. Dostopite do spremenjenega niza izStringBuilder>objekt po klicu funkcije.

primer:

Java




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)'> >}> }>

>

>

Izhod

Original String (Modified)>

Kako posredovati niz funkciji s klicem po sklicu v C#

V C# lahko podate niz po sklicu z uporabo ' ref'> ključno besedo na seznamu funkcijskih parametrov. To vam omogoča spreminjanje izvirnega niza neposredno v funkciji.

primer:

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'> >}> }>

java system.out.println
>

>

Izhod

Modified string>

Kako posredovati niz funkciji s klicem po sklicu v Pythonu

V Pythonu so nizi nespremenljivi, zato jih ne morete posredovati s sklicevanjem. Vendar lahko to omejitev obidete tako, da mimogrede spremenljiva podatkovna struktura, kot je a seznam in ga nato pretvori nazaj v niz če je potrebno.

primer:

Python




kako pretvoriti niz v celo število v Javi
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'>

>

>

Izhod

Modified string>

Kako posredovati niz funkciji s klicem po sklicu v JavaScriptu

V JavaScriptu lahko dosežete podoben učinek z posredovanje predmeta z lastnostjo, ki vsebuje niz . Potem lahko spremenite lastnost znotraj funkcije.

primer:

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'>

koliko milijonov je v milijardi
>

>

Izhod

Modified string>

V teh programskih jezikih lahko posredujete nize s sklicevanjem (ali podobnim učinkom) z uporabo tehnik, specifičnih za jezik. Vendar je bistveno, da se zavedate pravil jezika in podatkovnih struktur, saj lahko nespremenljivost nizov v Pythonu in JavaScriptu vpliva na vaš pristop.