Details of knowledge
1.如果使用引用形参的唯一目的是避免复制形参,则应将形参定义为const应用。
<span style="white-space:pre"> </span>bool isShortrer(const string &s1,const string &s2)
{
return s1.size()<s2.size();
}
2.千万不能返回局部变量的引用,也不要返回指向局部变量的指针。
当函数执行完毕时,字符串ret占用的储存空间为释放,函数返回值指向了对于这个程序来说是不再有效的内存空间,会在运行时出错。
3.如果有一个形参具有默认实参,那么它后面所有的形参都必须有默认实参。
string screeInit(string::size_type height=24,string::size_type width=60,char background=' ')
4.编译器隐式的将在类内定义的成员函数当做内联函数。
Questionable Examples
1.每个成员函数都有一个额外的,隐含的形参this,在调用形参时,形参this被初始化为调用函数的对象的地址。
<span style="white-space:pre"> </span>bool same_isbn(const Sales_item &rhs) const
{
return isbn=rhs.isbn;
}
最后的const修饰的就是this指针。
Concrete Explanation
1.指针形参和传递指向指针的引用。
http://blog.csdn.net/u013637931/article/details/45028849
2.重载,覆盖和隐藏的含义,特征及区别。
http://www.jb51.net/article/54225.htm
http://www.jb51.net/article/63462.htm
3,函数指针