读书思考笔记
暖柳泉
这个作者很懒,什么都没留下…
展开
-
C++中的继承问题
C++中的继承问题在《程序员面试宝典》(第4版)中讲到“在私有继承时,基类的成员只能由直接派生类访问,而无法再往下继承。”认为是正确的。eg:#includeusing namespace std;class A{protected: int a;};class B:private A{};class C :public B{public:原创 2015-10-21 17:00:29 · 298 阅读 · 0 评论 -
指针与引用的区别
1、非空区别任何情况下都不能使用指向空值的引用。一个引用必须总是指向某个对象。因此如果你用一个变量并让它指向一个对象,但是该变量在某些时候可能不指向任何对象,这时应该把变量声明为指针,因为这样可以赋空值给该变量。相反,如果变量肯定指向一个对象,如设计不允许变量为空,这时可以把变量声明为引用。不存在指向空值的引用这个事实意味着使用引用的代码效率比使用指针要高。2、合法性区别在使用引用之前原创 2016-03-18 21:05:48 · 257 阅读 · 0 评论 -
传递动态内存
传递动态内存:下面5个幻术哪一个能够成功进行两个数的交换?#include using namespace std; void swap1(int p, int q){ int temp; temp=p; p=q; q=temp;} void swap2(int *p, int *q){ int *temp;原创 2016-03-18 21:35:47 · 276 阅读 · 0 评论 -
链表的基础操作
链表 链表的创建、插入节点、删除节点等操作比较简单,其代码量适合笔试和面试。 链表是有种动态数据结构,创建链表时,无须知道链表的长度。当插入一个节点时,只需为新节点分配内存,然后调整指针的指向来确保新节点被链接到链表中。内存分配不是在创建链表时一次性完成的,而是每添加一个节点分配一次内存。 单向链表的节点定义如下:struct ListNode{ in原创 2016-03-14 15:53:44 · 358 阅读 · 0 评论 -
指针与数组不同的存储区域
首先要搞清楚char *str和char str[]char c[] = "hello world";是分配一个局部数组;char *c = "hello world";是分配一个全局数组。局部数组是局部变量,它所对应的是内存中的栈。全局数组是全局变量,它所对应的是内存中的全局区域。字符串常量保存在只读的数据段,而不是像全局变量那样保存在普通数据段(静态存储区),如:char *c原创 2016-03-19 13:30:33 · 495 阅读 · 0 评论 -
C/C++程序设计基本概念
for循环的执行顺序for循环的执行顺序用如下表达式:for(expression1;expression2;expression3){ expression4;}执行的顺序应该是:1)第一次循环,即初始化循环。首先执行表达式expression1(一般为初始化语句);再执行expression2(一般为条件判断语句),判断expression1是否符合exp原创 2016-03-23 22:06:23 · 408 阅读 · 0 评论 -
斐波那契数列
斐波那契数列定义为:## 效率不高的解法:long long Fibonacci(unsigned int n){ if (n<=0) return 0; if (n==1); return 1; return Fibonacci(n-1) + Fibonacco(n-2);} 以求f(10)为原创 2016-03-14 14:46:31 · 289 阅读 · 0 评论