2010-06-18 3 views
1

J'ai un paramètre de chaîne &, et je veux l'assigner au paramètre de chaîne.Valeur de réglage de la chaîne et de la chaîne

Comment cela peut-il être fait.

+6

Poster un code qui illustre ce que vous demandez au sujet. –

+1

Voulez-vous dire comme une fonction void f (chaîne & a, chaîne b) dans laquelle la valeur de b est assignée à un? Ou parlez-vous de quelque chose comme string * b en tant que deuxième paramètre, pour accéder à l'extérieur de f()? S'il vous plaît soyez clair et fournissez-nous du code. –

Répondre

1
void f(string &param); 

string myString = "something"; 

f(myString) 

Est-ce ce dont vous avez besoin?

+0

thnx je l'ai eu ... – boom

0

De manière générale, string& ou même const string& est juste un alias de nom et si vous avez quelque part dans votre code, il est égal à

// This means you just create a new ALIAS named "aliased_string" 
// for REAL "real_string" 
string& aliased_string = real_string; 

Maintenant, chaque fois que vous faites quelque chose avec votre aliased_string, les changements sont fait directement avec votre real_string.

Par conséquent, en assignant devient très simple:

// Create a new string 
string constructed_string; 

// Means the same as "constructed_string = real_string" 
constructed_string = aliased_string; 

Notez que si vous avez une fonction en référence dans sa liste de paramètres, la logique reste la même:

void foo (string& aliased_string) { ... } 

généralement signifie le même que

void foo() { string& aliased_string = real_string } 

real_string est passé en paramètre.

0

Si vous voulez parler réaffectant une référence de chaîne, alors il ne peut pas être fait

string &stringref = a_string; 

stringref = &b_string; // Cannot be done 
Questions connexes