Accueil technologie Variable de référence

Variable de référence



Définition

  intrate=80;int&pt=rate;

⒈ptestunevariablederéférence,elledoitêtreinitialiséelorsdeladéclarationdelavariablederéférence.LavaleurdeptetdetauxPointesurlamêmevariablemémoire.L'utilisationlaplusutiledelaréférenceestunparamètredefonction(structureetobjet).

⒉LescaractèresderéférencesontplusprochesPourunpointeur deconst,une foisassociéàunevariable,illuiseratoujoursfidélisé.

  intother=30;pt=autre;

A ce moment, la valeur du taux et la valeur de p ont été modifiées à 30, mais la coiffe est toujours la coiffe du taux d'origine.

Sileprogrammenevoulepasmodifierlesinformations qui lui sont transmises,mais

  inttest(const&p)//Lorsque vous modifiez la valeur de p, le compilateur générera un message d'erreur

⒋Si le paramètre réel Ifit ne correspond pas aux paramètres de l'application, C++ générera des variables temporaires à cet effet. Ceci n'est autorisé que lorsque les paramètres sont des références de construction.

****Lorsqueleparamètren'estpasuneréférence,s'iln'estpasunevaleur(etnepeutgénérerunevariabletemporaire),celaprovoqueuneerreurdecompilation*****(accentueletroisièmepoint,c'est-à-dire,essayezd'utiliserconst)

Le type du paramètre réel est correct, mais n'est pas une valeur

.Letypeduparamètreréelestincorrect,maisilpeutêtreconvertiautypecorrect

Leconceptdeflvaleur :saufpourlesconstanteslittéralesetlesexpressionscontenantdespolynômesL'objetdonnéesquelaformulepeutêtreréférencée

Essayez de déclarerlaréférenceretournéeparlafonctioncommeconstpourvouséviterdemodifier savaleur parlaréférenceretournée.Cetteréférenceretourestenfaitl'aliasdelavariableréférencée.

  constsysop&use(sysop&pref)sysoppref=();sysoptest=use(pref);

équivalent à

  user(pref);test=pref;

⒍Lacaractéristiquedefinhéritageestquelaréférencedelaclassedebasepeutpointerversl'objetclassedérivéesansconversionforcéedetype.

Si

  int&ir=0

signifie quelacoiffeest0,pasuneréférenceC'est-à-dire qu'il existedesaffectationsvariablesdansladéclarationEncasdevaleur,lavariabledoitêtreutiliséecommeobjetréférencé,sinonlesystèmenepeut pas reconnaîtresivotredéclarationestuneréférenceouuneaffectation!

Mode d'emploi

Siint&ir=0, cela signifie que la coiffe est 0, pas une référence.

⑴&;Il ne s'agit pas du calcul de l'adresse, mais de l'identification.

L'identificateur de type fait référence au type de la variable cible.

(3)Lors de la déclaration de la référence, celle-ci doit être initialisée en même temps.

⑷Après que la citation soit déclarée, elle équivaut au nom de la variable cible a deux noms, à savoir le nom original de la cible et le nom cité, et le nom cité ne peut pas être utilisé comme alias pour d'autres noms de variable.

ra=1;estéquivalentàa=1;

⑸Déclareruneréférence,pasunenouvelledéfinitiond'unevariable,celasignifieseulementquelenomderéférenceestunaliasdunomdevariablecible,ce n'est pasuntypededonnéesen soi,donclaréférenceelle-mêmen'occupepasl'unitédestockage,etlesystèmen'attribuepasl'unitédestockageàlaréférence.

⑹Ilestpossibled'établiruneréférenceàuntableau.EnC++,lasolutionauproblèmederéductiondesprixmofantableestunparamètreformel'utilisationdelaréférenced'untableau

⑺Laréférenceàlaréférencenepeutpasêtreétablie,etlepointeuràlaréférencenepeutpasêtreétabli.

Par exemple:

intn;

int&&r=n;//erreur,lesystèmedecompilationconsidére"int&"asone,Regard"&r"commeglobalement,c'est-à-dire qu'uneréférenceestétablie,etl'objetréférencédoitêtrevariabled'uncertaintypededonnées

int&*p=n;//erreur,systèmedecompilationConcernant"int&"entièrement,et"*p"entièrement,c'est-à-dire,unpointeurd'uneréférenceestétabli.Lepointeurnepeutpointersurunevariabled'uncertaintypededonnées.

Il est intéressant de noter que vous pouvez créer des références de pointeur

Par exemple:

int*p;

int*&q=p;//Correct,lecompilateurmet"int*"Pensez à une seule,et"&q"commeune seule,c'est-à-dire,créez uneréférenceaupointerp,c'est-à-dire,donnezaupointeurpanaliasq.

Principesd'utilisation

Pour les fonctions passées par valeur sans modification :

. L'objet de données est petit et est passé par valeur

.Si l'objet de données est un tableau, définissez un pointeur de const

.Sil'objetdedonnéesestunestructureplusgrande,vouspouvezutiliserunpointeurdeconsisteouuneréférencedeconsiste,

.S'il s'agit d'un objet de classe, puis d'une référence d'utilisation.

Pour les fonctions qui modifient la valeur

.S'il s'agit de données intégrées, utilisez des pointeurs

.Arrays, vous ne pouvez utiliser que des pointeurs

.Structureusingpointeurouréférence

.Object.Usereference

Cet article provient du réseau, ne représente pas la position de cette station. Veuillez indiquer l'origine de la réimpression
HAUT