指针的阴影
在学习C语言时,教师在课堂上讲的指针知识基本忘完,唯一记住的一点就是指针是一个危险的东东,好了,从此就对指针产生了心理阴影,到现在在使用指针时心里还犯嘀咕,时常感到无从下手,特别是在使用函数时,传递指针与传递值的联系与区别还有一些模糊。
通过阅读《Effective C++》,现有如下体会,不仅是指针,还包括引用、函数形参等理解:
1.在调用函数时,实参与形参之间执行了类似“赋值”的操作,而函数体里使用的是形参,因此形参的作用域仅限于函数体!
2.前述“赋值”操作在C++中使用值传递时会造成copy构造函数的调用,在函数调用结束时会调用析构函数释放形参资源,所以除了内置类型外,在调用函数时一般使用引用-const
3.引用的底层实现还是依靠指针,指针传递时修改形参仍然不会导致实参的变化,及指针指向的位置不变,但是可以修改指针指向位置中的内容。