关于“const”以及引用型变量的几点疑问
1)const Type&作为函数参数类型以及函数返回值类型的作用分别是什么,各在什么情况下使用?
2)const写在函数名之后,函数体之前有什么作用,比如下面这个函数:
int Find(const Type&x)const{
...(以下内容省略)
}
3) template<class Type> void BST<Type>::
Insert(const Type&x,BstNode<Type>*&ptr){
//私有函数:在以ptr为根的2叉搜索树里插入所含值为x的结点,若在树中已经有含x的结点,则
//不插入。注意ptr作为引用参数的作用。
if(ptr==NULL){ //新结点作为叶结点插入
ptr=new BstNode<Type>(x); //创建新结点
if(ptr==NULL){cerr<<"Out of space"<<endl;exit(1);}
}
else if(x<ptr->data) Insert(x,ptr->leftChild); //小于根关键码,从左子树插入
else if(x>ptr->data) Insert(x,ptr->righrChild);//大于,从右子树插入
}
我想问的是“ptr作为引用参数的作用”到底是什么作用???
还有,cerr在什么情况下使用啊,cout<<"/n"和cout<<endl 有什么区别。
4)定义整型变量,指针变量,数组变量之后需要将它们立即初始化吗?
新人发贴,希望各位多多指教,谢谢。