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#
- Kako posredovati niz funkciji s klicem po sklicu v Javi
- Kako posredovati niz funkciji s klicem po sklicu v Pythonu
- Kako posredovati niz funkciji s klicem po sklicu v JavaScriptu
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:
- Ustvariti
StringBuilder>objekt z začetnim nizom. - Predaj
StringBuilder>nasprotovati funkciji. - Spremenite
StringBuilder>objekt znotraj funkcije. - Dostopite do spremenjenega niza iz
StringBuilder>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.