2013年3月31日
摘要: 递归的概念、递归的工作原理以及递归的使用发放都不难理解,而且它可以是程序变得简洁,有着其独特的作用,在《数据结构》(殷人昆版)中也多次用到。但是就是这个看起来不难,又有可能很重要的知识点,理解起来总感觉很别扭,特别是看《C程序设计》(谭浩强版)这本书中“汉诺塔”问题的时候,被调来调去的参数搞得头晕,找视频学习也没听出了所以然来,看《C++ Primer》时看到一个例题,有了一点想法,在此记录:下面是一个求两个数最大公约数的函数: 1 // return the greatest common divisor 2 int gcd(int v1, int v2) 3 ... 阅读全文
posted @ 2013-03-31 17:30 毋忆典藏 阅读(236) 评论(0) 推荐(0)
摘要: 函数可以返回指向函数的指针,但是,正确写出这种返回类型相当不容易:1 // ff is a function taking an int and returning a function pointer 2 // the function pointed to returns an int and takes an int* and an int 3 int (*ff(int))(int*, int);阅读函数指针声明的最佳方法是从声明的名字开始由里而外理解。要理解该声明的含义,首先观察: ff(int) 将 ff 声明为一个函数,它带有一个 int 型的... 阅读全文
posted @ 2013-03-31 12:27 毋忆典藏 阅读(195) 评论(0) 推荐(0)
摘要: 参考下面这个网址中两段话,对《C++ Primer》中的这句话“函数调用的左操作数”进行理解:http://www.caole.net/diary/lvalue.html“C++中引入了引用类型(reference type),引用总是引用到某一对象或者函数上,因此当我们使用引用时,相当于对其引用的对象/函数进行操作,因而引用类型的表达式总是左值。(在分析表达式类型时,如果一个表达式expr最初具有T&类型,该表达式会被看作具有类型T的左值表达式)”“函数调用f()的返回类型为int&, 因此表达式f()的类型等价于一个int类型的左值表达式。而函数调用g()的返回类型为int 阅读全文
posted @ 2013-03-31 10:43 毋忆典藏 阅读(379) 评论(0) 推荐(0)
摘要: 《C++ Primer》中有这样一段话:“函数指针类型相当地冗长。使用 typedef 为指针类型定义同义词,可将函数指针的使用大大简化:(第 2.6 节):1 typedef bool (*cmpFcn)(const string &, const string &); 该定义表示 cmpFcn 是一种指向函数的指针类型的名字。该指针类型为“指向返回 bool 类型并带有两个 const string 引用形参的函数的指针”。在要使用这种函数指针类型时,只需直接使用 cmpFcn 即可,不必每次都把整个类型声明全部写出来。”参考《C程序设计》(谭浩强版)的相关章节,或题目为“ 阅读全文
posted @ 2013-03-31 09:47 毋忆典藏 阅读(192) 评论(0) 推荐(0)