参照とポインタの(a) - マクロより参照とポインタ

ディレクトリ

 

一般的なルールの重要な変数の参照

引用された一般的なエラーパラメータ

参照とポインタの違いは何ですか?

なぜ参照ポインタよりも安全?


一般的なルールの重要な変数の参照

  • 参照型の変数は、宣言と同時に初期化する必要があります
  • それらが割り当てられていたとき、声明の中でのみを引用して、他の変数の名前を参照すると、後で名前を参照することはできません

  • 初期化されていないポインタ変数は、フィールドガイドです

引用された一般的なエラーパラメータ

タイプで一定の基準、一定の基準タイプとすることができる変数の非常にタイプの量でなければならない変数の一定の種類については、それは非常に量型であってもよいです。しかし、変数に定数の参照を変更するために使用することはできませんどのような状況に関係なく、値を引用しました。

#include <stdio.h>
#include <iostream>

int main()
{
	const int a = 10;
	//int &b = a; 报错,不能用一个非常量的引用去引用一个常量
	const int &b = a;
	int c = 4;
	const int &d = c;//可以用一个常量去引用一个非常量的变量

	//b++; //只要常量引用,就不能用其修改被引用的值
	//d++;
	//a++;
	c++;//这个是被常量引用引用的变量,可以修改值

	printf("c:%d\n", c);
	printf("d:%d\n", c);
	system("pause");
	return 0;
}

次のように実行します。 

参照とポインタの違いは何ですか?

  1. さまざまな要件が初期化:それが作成されたときに参照が有効なオブジェクトへの参照であること、初期化されなければならない、とポインタが定義された時に初期化する必要はありません、後で任意の場所で再割り当てすることができ、しかし、ポインタを使用する前に、次の操作が必要初期設定は完了です。 
  2. 異なる特性を修正することができる:初期化されると、参照オブジェクトが指定され、それは別の変数参照に変更することができない、ポインタ変数の変化を指してもよいです。
  3. NULLポインタが存在するが、基準値NULLへの参照がある:NULL参照が存在しません。したがって、基準は、特定の変数、オブジェクトや生活に依存しなければならない、とポインタは、それらのいずれかの存在に依存することはできません。
  4. 差の応用:オブジェクトがポイントにポイントを変更し、参照を使用するつもりはないされたら、NULLにポイントが存在する場合、異なる時間に異なるポイントオブジェクトを変更したい、あなたはポインタを使用する必要があります。

概要:言語レベル、および同じオブジェクト参照を使用して、ポインタが参照するバイナリレベルは、達成することであるが、コンパイラは、私たちは変換を完了するために役立ちます。全体的に、参照ポインタの両方の効率が、変数を使用することも簡単で直感的。

なぜ参照ポインタよりも安全?

参照は、特定のターゲットを変更することはできませんバインドしなければなりません一度リファレンスは、空では存在しません。

ポインタが大幅に少なく、「特異性」は、だけでなく、変更オブジェクトのポイントで、比較的より安全に、空にします。

公開された271元の記事 ウォンの賞賛8 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_17846375/article/details/104945098