摘要: 函数重载如果同一作用域内的几个函数名字相同但形参列表不同,我们称之为重载函数。例如:void print(const char *cp);void print(const int *beg,const int *end);void pring(const int ia[],size_t size);... 阅读全文
posted @ 2014-08-06 22:53 Jessica程序猿 阅读(5016) 评论(0) 推荐(0) 编辑
摘要: #include #include using namespace std;//传入的参数是数组的指针,返回值是数组的指针string (*fun(string (*s)[10]))[10]{ return s;}//using str_arr = string (*)[10];/*typed... 阅读全文
posted @ 2014-08-06 20:39 Jessica程序猿 阅读(730) 评论(0) 推荐(0) 编辑
摘要: #include #include using namespace std;//传入的参数是数组的引用,返回值也是数组的引用string (&fun(string (&s)[10]))[10]{ return s;}//using str_arr = string (&)[10];/*type... 阅读全文
posted @ 2014-08-06 20:14 Jessica程序猿 阅读(3909) 评论(1) 推荐(0) 编辑
摘要: return语句终止当前正在执行的函数并将控制权返回到调用该函数的地方。return语句有两种形式:return;return expression;无返回值函数没有返回值的return语句只能用在返回类型是void的函数中。返回void的函数不要求非得有return语句,因为在这类函数的最后一句后... 阅读全文
posted @ 2014-08-06 17:32 Jessica程序猿 阅读(11139) 评论(0) 推荐(0) 编辑
摘要: 一旦程序员把注意力都转向了对象传值方式隐含的效率问题(参见第 20 条)时,许多人都变成了极端的“改革运动者”,他们对传值方法采取斩草除根的态度,在他们不屈不挠追求传递引用方式的纯粹性的同时,他们也犯下了致命的错误:有时候传递的引用所指向的对象并不存在。这决不是一件好事情。请看下面的示例,其中的 R... 阅读全文
posted @ 2014-08-06 15:06 Jessica程序猿 阅读(1107) 评论(0) 推荐(0) 编辑
摘要: 一般我们都知道不能返回局部变量的指针,但很多人知道其然,不知道所以然,那么接下来我们分析一下,先看两段代码/*test1.c*/#include char* get_str(){ char str[] = {"hello"}; return str;}int main(){ char* p = ge... 阅读全文
posted @ 2014-08-06 11:16 Jessica程序猿 阅读(678) 评论(0) 推荐(0) 编辑
摘要: 函数返回值时,要生成一个值的副本。而用引用返回值时,不生成值的副本。 例如,下面的程序是有关引用返回的4种形式: //********************* //** ch9_6.cpp ** //********************* #include ... 阅读全文
posted @ 2014-08-06 11:00 Jessica程序猿 阅读(259) 评论(0) 推荐(0) 编辑