随笔分类 -  c/c++

摘要:转自:https://www.cnblogs.com/ywliao/articles/8116622.html new与malloc的10点区别 1. 申请的内存所在位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配内存。自由存储区是C+ 阅读全文
posted @ 2020-02-11 08:41 wywdahai 阅读(233) 评论(0) 推荐(0)
摘要:参考:https://blog.csdn.net/hansionz/article/details/81947834 二叉树的基础操作总结https://blog.csdn.net/hansionz/article/details/81908134队列的基础操作总结https://blog.csdn 阅读全文
posted @ 2020-02-10 15:52 wywdahai 阅读(171) 评论(0) 推荐(0)
摘要:转自:https://blog.csdn.net/weixin_40237626/article/details/82313339 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类 阅读全文
posted @ 2019-12-07 18:24 wywdahai 阅读(337) 评论(0) 推荐(0)
摘要:本文链接:https://blog.csdn.net/caoshangpa/article/details/80362804两两反转单链表就是把每两个数反转一次。如:A -> B -> C ->D -> E -> F两两反转后变为 B -> A -> D ->C -> F -> E。 整个两两反转过 阅读全文
posted @ 2019-12-07 16:35 wywdahai 阅读(647) 评论(0) 推荐(0)
摘要:输出结果:分析:1) 主函数调用fun(1);2) 此时n的值为1,随即输出第一行,并得到n的地址并将其抽象为aaaa;3) 判断,1 < 3,执行递归语句, 重新执行fun函数;4) 由于传递参数为n+1,所以本层n的值为2,随即输出第二行,并得到n的新地址将其抽象为bbbb;5) 判断,2 < 阅读全文
posted @ 2019-12-06 21:48 wywdahai 阅读(1457) 评论(0) 推荐(0)
摘要:1)什么是内联函数? 内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。 (2)为什么要引入内联函数?当然,引入内联函数的主要目的是:解决程序中函数调用的效率问题。另外,前面我们讲到了宏,里面有这么一个例子:#define ABS(x) ((x)>0? (x):-(x))当++i出 阅读全文
posted @ 2017-12-20 12:18 wywdahai 阅读(2023) 评论(0) 推荐(1)
摘要:void *memcpy(void *des, void *src, int count) { assert(des!=NULL||src!=NULL); char *d = (char*)des; char *s = (char*)src; while(count--) { *d++=*s++; 阅读全文
posted @ 2017-12-20 12:18 wywdahai 阅读(368) 评论(0) 推荐(0)
摘要:1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926程序中的:area=PI*r*r 会替换为3.1415926*r*r如果你把#define语句 阅读全文
posted @ 2017-12-20 12:17 wywdahai 阅读(272) 评论(0) 推荐(0)
摘要:stl提供了三个最基本的容器:vector,list,deque。vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随即存取,即[]操作符,但由于它的内存空间是连续的,所以在中间进行插入和删除会造成内存块的拷贝,另外,当该数组后的内存空间不够时, 阅读全文
posted @ 2017-12-20 11:51 wywdahai 阅读(271) 评论(0) 推荐(0)
摘要:三个函数的申明分别是: void* realloc(void* ptr, unsigned newsize); void* malloc(unsigned size); void* calloc(size_t numElements, size_t sizeOfElement); 都在stdlib. 阅读全文
posted @ 2017-12-20 11:50 wywdahai 阅读(174) 评论(0) 推荐(0)
摘要:int main() { fork(); fork(); printf("abc\n"); return 0; } 上述程序输出几个abc 答案:四个abc 原因是:fork调用一次,返回两次,一次返回等于0是子进程,一次返回大于0是父进程。 阅读全文
posted @ 2017-12-20 11:50 wywdahai 阅读(573) 评论(0) 推荐(0)
摘要:在func_A调用func_B的时候,同样先在自己的栈帧中压入函数返回地址,然后为func_B创建新栈帧并压入系统栈在func_B返回时,func_B的栈帧被弹出系统栈,func_A栈帧中的返回地址被“露”在栈顶,此时处理器按照这个返回地址重新跳到func_A代码区中执行在func_A返回时,fun 阅读全文
posted @ 2017-12-19 15:16 wywdahai 阅读(908) 评论(0) 推荐(0)
摘要:转自:http://blog.itpub.net/29254281/viewspace-1800617/ 还是秒杀. 秒杀一般有几个场景 1.电商秒杀商品 2.抢红包 3.抢票 假设一个场景如下: 某电商公司搞活动,一折秒杀,推出几种秒杀的商品,每种商品1000个,预计100w人抢购 要求: 不能超 阅读全文
posted @ 2016-10-13 17:02 wywdahai 阅读(292) 评论(0) 推荐(0)
摘要:转自:http://www.blogjava.net/fhtdy2004/archive/2009/05/30/278971.html 很多情况下要求当前的程序中只有一个object。例如一个程序只有一个和数据库的连接,只有一个鼠标的object。通常我们都将构造函数的声明置于public区段,假如 阅读全文
posted @ 2016-04-02 10:58 wywdahai 阅读(395) 评论(0) 推荐(0)
摘要:(1)什么是内联函数?内联函数是指那些定义在类体内的成员函数,即该函数的函数体放在类体内。(2)为什么要引入内联函数?当然,引入内联函数的主要目的是:解决程序中函数调用的效率问题。另外,前面我们讲到了宏,里面有这么一个例子:#define ABS(x) ((x)>0? (x):-(x))当++i出现... 阅读全文
posted @ 2015-07-31 08:49 wywdahai 阅读(1136) 评论(0) 推荐(0)
摘要:一、volatilevolatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象... 阅读全文
posted @ 2015-07-31 08:48 wywdahai 阅读(5391) 评论(0) 推荐(0)
摘要:C++常用库函数转自:http://blog.csdn.net/sai19841003/article/details/79571151、常用数学函数 头文件 #include 或者 #include 函数原型功能返回值int abs(int x)求整数x的绝对值绝对值double acos(do... 阅读全文
posted @ 2015-07-01 09:19 wywdahai 阅读(1313) 评论(0) 推荐(0)