随笔分类 -  牛客网 易错收藏题目

针对自己易错、经典题的集锦
35 拷贝赋值函数、虚函数
摘要:分析一: 1.调用obj1的构造函数MyClass(int i =0)输出1;2.调用obj2的构造函数MyClass(int i = 0)输出2;3.调用obj3的复制构造函数MyClass(const MyClass&x)输出2;4.main函数返回时分别调用obj3、obj2、obj1的析构函 阅读全文
posted @ 2017-09-04 14:13 王小东大将军 阅读(323) 评论(0) 推荐(0)
34 char类型转换为int类型
摘要:分析:char类型的范围是-128 +127,当a+=27,之后a的值超出可表示范围会变为-128. a为char型,-128~127,a=101,a+=27后溢出a=-128: a=127时不溢出 01111111(127补码) a+=1时溢出 10000000(-128补码) sum += a; 阅读全文
posted @ 2017-09-04 11:10 王小东大将军 阅读(436) 评论(0) 推荐(0)
33 单/双精度有效数字、程序运行过程
摘要:1 C++中32位单精度浮点数能表示的十进制有效数字是7位。 分析:一个浮点数由三部分组成:符号位S、指数部分E(阶码)以及尾数部分M。 单精度浮点数(float)总共用32位来表示浮点数,其中尾数用23位存储,加上小数点前有一位隐藏的1(IEEE754规约数表示法),2^(23+1) = 1677 阅读全文
posted @ 2017-09-04 10:39 王小东大将军 阅读(354) 评论(0) 推荐(0)
32 C++常见错误集锦
摘要:1 下列程序中,K的值为:6 分析:enum中,首元素不赋值的话,默认为0;后一个元素不赋值的话比前一个元素大1. 2 程序运行正常。 分析:(http:)相当于一个label,类似于访问限定符private,public;程序可以正常运行。 双斜杠之后的www.csdn.NET被当做注释了,那么前 阅读全文
posted @ 2017-09-04 10:20 王小东大将军 阅读(571) 评论(0) 推荐(0)
31 位域、空类的sizeof值
摘要:1 分析下列程序: 求sizeof(s)的结果为 16. 分析:看清楚结构体中是位操作,三个变量共占用一个int 类型的大小,int 类型占用4个字节,double占用8个字节,为实现内存对齐,int类型需要填充4个字节的长度。 x,y,z分别占用3,4,5位,int是4个字节32位,相当于xyz占 阅读全文
posted @ 2017-09-01 10:51 王小东大将军 阅读(324) 评论(0) 推荐(0)
30 重载、隐藏、重写的区别
摘要:1.重载:重载从overload翻译过来,是指同一可访问区内被声明的几个具有不同参数列(参数的类型,个数,顺序不同)的同名函数,根据参数列表确定调用哪个函数,重载不关心函数返回类型。 class A{ public: void test(int i); void test(double i);//o 阅读全文
posted @ 2017-09-01 10:02 王小东大将军 阅读(224) 评论(0) 推荐(0)
29 关于字节对齐运算
摘要:1. 分析字节对齐: 分析一:int 4,enum 4,union 14(因为 pack(2)),总22. 分析二:int i:4字节;union:13字节(共用内存),2字节对齐,13+1=14字节。enum:3字节。2字节对齐,3+1=4 分析三: int i,得到4个字节。union对齐方法: 阅读全文
posted @ 2017-09-01 09:50 王小东大将军 阅读(239) 评论(0) 推荐(0)
红黑树与AVL
摘要:红黑树和avl树都属于自平衡二叉树; 两者查找、插入、删除的时间复杂度相同; 包含n个内部结点的红黑树的高度是o(logn); TreeMap是一个红黑树的实现,能保证插入的值保证排序 关于红黑树和AVL树,来自网络: 1 好处 及 用途 红黑树 并不追求“完全平衡”——它只要求部分地达到平衡要求, 阅读全文
posted @ 2017-08-08 18:15 王小东大将军 阅读(265) 评论(0) 推荐(0)
死锁问题
摘要:哲学家就餐问题:当5个进程的时候如果都同时申请到了1台,就发生死锁了。如果是4个进程,那必然有一个能申请到2台。 虽然进程在运行过程中,可能发生死锁,但死锁的发生也必须具备一定的条件,死锁的发生必须具备以下四个必要条件。 1 )互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由 阅读全文
posted @ 2017-08-08 17:32 王小东大将军 阅读(102) 评论(0) 推荐(0)
TCP_NODELAY算法使用事项
摘要:当有一个TCP数据段不足MSS,比如要发送700Byte数据,MSS为1460Byte的情况。nagle算法会延迟这个数据段的发送,等待,直到有足够的数据填充成一个完整数据段。也许有人会问,这有什么影响呢?没有太大的影响,总体上来说,这种措施能节省不必要的资源消耗。但是要发送的总体数据很小时,这种措 阅读全文
posted @ 2017-08-08 17:13 王小东大将军 阅读(635) 评论(0) 推荐(0)
基类与派生类的对象调用
摘要:下列代码之后的结果为( ) 1.b.f(); 基类对象直接调用基类的f()函数,输出a 2.p->f(); 派生类对象赋给基类的指针,由于f()在基类中是虚函数,根据基类指针指向的对象进行调用,因此调用派生类的int f()输出d 3.p->g();基类中g()不是虚函数,调用基类的g() 4.p_ 阅读全文
posted @ 2017-08-05 15:26 王小东大将军 阅读(2476) 评论(0) 推荐(0)
printf以%d形式输出浮点数的问题
摘要:若运行时从键盘上输入9876543210l,则下面程序的输出结果是 int main(){ int a;float b,c; scanf("%2d%3f%4f",&a,&b,&c); printf("\na=%d,b=%d,c=%f\n",a,b,c); } A.a=98,b=765,c=4321. 阅读全文
posted @ 2017-08-05 12:29 王小东大将军 阅读(3506) 评论(0) 推荐(0)
23 入栈 出栈
摘要:分析下列程序输出:string 分析:看完如下的结果即可。补充一下:Push(S,x)是往S中入栈,Pop(S,x)是从S中出栈,并把出栈的元素取代x中的元素。 阅读全文
posted @ 2017-08-03 10:21 王小东大将军 阅读(424) 评论(1) 推荐(0)
22 大端序和小端序
摘要:分析下列程序,输出结果(AC) A 2015,810 B50810,201 C810,2015 D20150,810 分析: Little-Endian: 低地址存放低位、Big-Endian: 低地址存放高位 32bit宽的数0x12345678 在Little-endian模式CPU内存中的存放 阅读全文
posted @ 2017-08-02 22:47 王小东大将军 阅读(194) 评论(0) 推荐(0)
21 野指针
摘要:分析下列程序,输出结果:不确定,未定义行为。 指针释放存储空间后没有置为NULL,变成野指针。 分析:野指针,不能通过简单的NULL进行判断,delete或free只是释放了指针所指向的内存区域,并没有干掉指针本身,所以指针指向的是“垃圾”指针,所以free或者delete之后要把指针置为NULL。 阅读全文
posted @ 2017-08-01 21:33 王小东大将军 阅读(180) 评论(0) 推荐(0)
20 KMP匹配的Next值和Nextval值
摘要:i 0 1 2 3 4 5 6 7 8 s a b a b a a b a b next[i] -1 0 0 1 2 3 1 2 3 先计算前缀next[i]的值: next[i]的值主要是看s[i]之前的字符串中重复的子串长度。next[0] = -1,定值。 next[1]是看s[1]之前的字符 阅读全文
posted @ 2017-08-01 20:27 王小东大将军 阅读(581) 评论(0) 推荐(0)
19 内存分配和释放的函数
摘要:1. malloc,calloc,realloc,free属于C函数库,而new/delete则是C++函数库; 2. 多个-alloc的比较: alloc:唯一在栈上申请内存的,无需释放; malloc:在堆上申请内存,最常用; calloc:malloc+初始化为0; realloc:将原本申请 阅读全文
posted @ 2017-08-01 19:36 王小东大将军 阅读(335) 评论(0) 推荐(0)
18 比较数组找出最大两个数
摘要:在一个有8个int数据的数组中,随机给出数组的数据,找出最大和第二大元素一定需要进行(9)次比较: 阅读全文
posted @ 2017-08-01 19:26 王小东大将军 阅读(254) 评论(0) 推荐(0)
17 稀疏矩阵转置
摘要:已知一稀疏矩阵的三组元表为:(1,2,3),(1,6,1),(3,1,5)(3,2,-1),(5,4,5)(5,1,-3),则其转置矩阵的三元组表中第3个三元组为() 分析: 原始的 1,2,3 1,6,1 3,1,5 3,2,-1 5,4,5 5,1,-3 转置之后相当于交换xy之后再存储 2, 阅读全文
posted @ 2017-08-01 17:22 王小东大将军 阅读(162) 评论(0) 推荐(0)
16 extern用法、常量字符串的应用
摘要:extern声明多文件共享变量的方法总结一下: 1).在一个源文件中定义,在其他需要使用的源文件中用extern声明。(仅一处定义,多处extern) 2).在一个源文件中定义,在其对应的头文件中extern声明,在其他需要使用该共享变量的源文件中包含该头文件即可。(更加标准的做法) 在gcc编译器 阅读全文
posted @ 2017-08-01 16:53 王小东大将军 阅读(176) 评论(0) 推荐(0)