指针和引用有什么分别;如果传引用比传指针安全,为什么?如果我使用常量指针难道不行吗?
2011-04-08 22:01
381 查看
(1) 引用在创建的同时必须初始化,即引用到一个有效的对象;而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋值。
(2) 不存在NULL引用,引用必须与合法的存储单元关联;而指针则可以是NULL。
(3) 引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用;而指针在任何时候都可以改变为指向另一个对象.给引用赋值并不是改变它和原始对象的绑定关系。
(4) 引用的创建和销毁并不会调用类的拷贝构造函数。
(5) 语言层面,引用的用法和对象一样;在二进制层面,引用一般都是通过指针来实现的,只不过编译器帮我们完成了转换。
(6) 不存在空引用,并且引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用,显得很安全。
(2) 不存在NULL引用,引用必须与合法的存储单元关联;而指针则可以是NULL。
(3) 引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用;而指针在任何时候都可以改变为指向另一个对象.给引用赋值并不是改变它和原始对象的绑定关系。
(4) 引用的创建和销毁并不会调用类的拷贝构造函数。
(5) 语言层面,引用的用法和对象一样;在二进制层面,引用一般都是通过指针来实现的,只不过编译器帮我们完成了转换。
(6) 不存在空引用,并且引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用,显得很安全。
相关文章推荐
- 指针和引用有什么分别;如果传引用比传指针安全,为什么?如果我使用常量指针难道不行吗?
- 指针和引用有什么分别;如果传引用比传指针安全,为什
- 为什么基类指针和引用可以指向派生类对象,但是反过来不行?
- 用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
- 用 @property 声明的 NSString (或 NSArray,NSDictionary) 经常使用 copy 关键字,为什么?如果改用strong关键字,可能造成什么问题?
- 为什么基类指针和引用可以指向派生类对象,但是反过来不行?
- C++语言--指针--3.1--什么是地址、用指针来保存内存地址、为什么使用指针、指针的常见错误
- 用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
- 什么时候应使用指针形参?什么时候就使用引用形参?解释两者的优点和缺点。
- 为什么要使用虚函数和 指针(或是引用)才能实现多态?
- 什么时候该使用指针和引用
- 为什么基类指针和引用可以指向派生类对象,但是反过来不行?
- 为什么引用比指针安全
- NSString为什么要使 用copy,如果使用stromg有什么问题?
- java的引用明明和指针没什么本质区别,java为什么还宣称没有指针并把这个当作语言的优点?
- 用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
- iOS 面试题~用@property声明NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?
- 什么时候使用指针?什么时候使用引用?什么时候应该按值传递?
- 为什么基类指针和引用可以指向派生类对象,但是反过来不行?
- 用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?