知识点总结
文章平均质量分 85
Silence723
这个作者很懒,什么都没留下…
展开
-
assert与if的区别
assert还是if 在刚开始学习代码的时候,对于程序中检查程序有效性时有时用到assert,有时用if,感到非常困惑。比如,在多数的malloc函数后面对指针进行的操作都是用assert进行检查的,可能会造成一种错觉以为在malloc之后对申请空间的检测是用assert进行的,但可能也会看到用if对malloc进行判断并处理,到底是if还是assert呢?以下是库中关于as原创 2016-05-28 16:21:16 · 3402 阅读 · 2 评论 -
时间复杂度和空间复杂度
1、时间复杂度 所谓时间复杂度实际上就是函数,既是函数计算执行的基本操作次数。ps:这里的函数是指数学里面的函数,而不是C语法里的函数。 如下面这个代码:void Test1 ( int N ){ for (int i = 0; i N ; ++ i) { for (in原创 2016-07-19 10:49:46 · 531 阅读 · 0 评论 -
关于C++中的继承
继承性是面向对象程序设计的最重要的特性,可以这么说,如果没有掌握继承性,就等于没有掌握类和对象的精华,所以很好的掌握继承性是我们学好C++的基础,下面我们对它进行一一介绍。 继承是面向对象复用的重要手段。通过继承定义一个类,它们的类型之间的关系建模,共享公有的东西,实现各自本质不同的东西。 有三种继承方式:Public继承,Protected继承,Private继原创 2016-07-19 10:42:20 · 398 阅读 · 0 评论 -
关于指针
不得不说,指针对于学习c/c++的人而言的确是一个头疼但是又特别重要一个问题,在这里,我就将自己的学习经验分享给大家,希望能够帮助更多的人学习。说起指针,或许你还在为到底什么是指针?指针和数组到底是否相等?指针数组是什么?数组指针是什么?函数指针又是什么?函数指针数组,函数指针数组指针它们又是什么?看完这个你就会对指针有更深一步的了解了,下面我为大家一一解答。1、什么是指针? 要原创 2016-07-19 10:40:01 · 353 阅读 · 0 评论 -
栈和队列
栈的定义--Stack栈只允许在末端(即是栈顶)进行插入和删除的线性表。栈具有后进先出的特性(LIFO,Last In First Out)。线性表分为:顺序表和链表。栈:只允许在尾上(即是栈顶)进行插入与删除。队列:它是在队尾插入,队头删除。下图是详细说明:2、栈选数组(即顺序表)结构时(比选链表结构更好):因为选数组结构可以进行size+原创 2016-07-19 10:18:42 · 433 阅读 · 0 评论 -
C++中传值、传址与传引用的区别
1、参数传递的概念 所谓参数传递就是用函数调用所给出的实参(实际参数)向函数定义所给出的形参(形式参数)设置初始值的过程。在c++中,调用函数时有三种参数传递方式,分别为:(1)传值调用;(2)传址调用(即是传指针);(3)传引用; 总体上参数传递可以分为两类,由形参的类别决定:值调用与引用调用。除了定义为引用类型的形参外,其他类型的形参都是对应着值调用。指针传递也是原创 2016-07-19 10:07:55 · 6285 阅读 · 0 评论 -
死锁产生的必要条件及其处理办法
虽然进程在运行过程中,可能发生死锁,但死锁的发生也必须具备一定的条件,死锁的发生必须具备以下四个必要条件。 1)互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。 2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻原创 2016-07-26 15:50:37 · 9689 阅读 · 0 评论 -
可重入函数与线程安全之间的区别与联系
1、什么是线程安全? 一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。反之,如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。所以,有这么四类函数称为线程不安全的:- 不保护共享变量的函数;- 函数状态随着调用改变的函数;- 返回指向静态变量指针的函数;- 调用线程不安全函数原创 2016-07-26 15:17:52 · 954 阅读 · 0 评论 -
C++关于模板
假设现在要实现一个比较两个数是否相等的重载函数。1、两个int类型的操作数比较bool IsEqual (int left, int right){ return left == right;}2、两个string类型的操作数比较bool IsEqual (const string& left , const string& right){ return left == right原创 2016-07-26 13:10:35 · 276 阅读 · 0 评论 -
动态内存管理
C语言动态内存管理C语言使用malloc/calloc/realloc/free进行动态内存管理。void Test (){ int* p1 = (int*) malloc (sizeof (int)*4); free(p1 ); // 1.calloc/realloc/malloc 的区别是什么? int* p2 = (int*) calloc(4, sizeof原创 2016-07-26 13:10:26 · 339 阅读 · 0 评论 -
博客搬家
将博客搬家到CSDN原创 2016-06-03 11:20:50 · 319 阅读 · 0 评论 -
iOS学习过程中遇到的各种坑
前段时间因为各种原因需要学习iOS,因此我就开始了iOS学渣之路,因为是零基础,所以我在iOS开发过程中遇到了各种坑,现在将iOS开发过程中遇到的各种问题记录下来,以备后面复习。本来是应该从语言相关开始说起的,但是因为最近要上架APP,所以我打算先说说如何将代码打包成静态库,网上也有很多相关的博客或者教程,但是还是想自己再总结一下,加深一下印象。一、什么是库?库是共享程序代码的一种原创 2018-01-21 16:47:53 · 525 阅读 · 0 评论