referências C ++
variável de referência é um apelido, ou seja, é um nome já existe em outra variável. Uma vez que a referência é inicializada para uma variável, você pode usar o nome de referência ou nome da variável para apontar para variáveis.
ponteiro C ++ vs referência
É fácil confundir com as referências de ponteiro, existem três principais diferenças entre eles:
- A ausência de uma referência nula. Referência deve ser ligado a uma memória legítimo.
- Uma vez que uma referência é inicializado para um alvo, que não pode ser dirigida a um outro objecto. Ponteiro pode apontar a qualquer momento para outro objeto.
- Referência deve ser inicializado quando criado. Ponteiro pode ser inicializado em qualquer momento.
C ++, criar uma referência
Imagine o nome da variável é uma variável na posição de memória da etiqueta filial, você pode fazer referência como uma variável na subsidiária na segunda tag local de memória. Portanto, você pode acessar o nome da variável ou uma referência ao conteúdo através da variável original. Por exemplo:
int i = 17;
Podemos nos referir à variável i é declarado como segue:
int& r = i;
Nestas declarações, e entendidas comoreferências.Portanto, a primeira declaração pode ser lido como "r é um inteiro i é inicializada para uma referência a" a segunda declaração pode ser lido como "referência s é inicializado para um duplo tipo de d." O exemplo a seguir usa int e aspas duplas:
#include <iostream> using namespace std; int main () { // 声明简单的变量 int i; double d; // 声明引用变量 int& r = i; double& s = d; i = 5; cout << "Value of i : " << i << endl; cout << "Value of i reference : " << r << endl; d = 11.7; cout << "Value of d : " << d << endl; cout << "Value of d reference : " << s << endl; return 0; }
Quando o código acima é compilado e executado, ele produz os seguintes resultados:
Value of i : 5 Value of i reference : 5 Value of d : 11.7 Value of d reference : 11.7
As referências são normalmente utilizados para listas de argumentos de função e valores de retorno de função. As listas a seguir programador C ++ deve limpar dois com referências C ++ relacionados conceitos-chave:
概念 | 描述 |
---|---|
把引用作为参数 | C++ 支持把引用作为参数传给函数,这比传一般的参数更安全。 |
把引用作为返回值 | 可以从 C++ 函数中返回引用,就像返回其他数据类型一样。 |