编译语言的翻译程序(编译器或解释器)总是按语法的规则来解释代码的,编程语言的设计者对语法规则的设计总有其合理性。C没有引用,C++试图做为C的升级版,引入引用有什么合理性?
1 引用的常量性质
引用具有常量性质,只允许有一次机会指向一个内存空间,避免了指针变量的东指西指引起的潜在问题。同时,引用不能指向NULL,也避免了指针指向NULL的一些问题。当然,也有一些场合是需要指向NULL的,这也是指针的价值所在,还有,指针也可以指向堆空间,当然,还可以应用在链式存储场合。引用是类型安全的,而指针不是 (引用比指针多了类型检查)。