随笔分类 -  C++

摘要:前段时间复习面试的时候,看到这个问题经常有问到,我这个小白就看了些博客和书,总结一下。 new可以说是个一个关键字,也可以说是一个运算符,并且可以被重载。 1、new operator 这个就是平时最经常用的new,用法如下程序所示: new operator实际上执行了以下三个步骤: 1、调用op 阅读全文
posted @ 2019-04-16 15:32 luStar 阅读(101634) 评论(0) 推荐(4)
摘要:最近在学习陈硕大神的muduo库,感觉写的很专业,以及有一些比较“高级”的技巧和设计方式,自己写会比较困难。 于是打算自己写一个简化版本的Reactor模式网络库,就取名叫mini吧,同样只基于Linux平台,不使用boost库,去掉一些比较复杂的部分,只实现比较基本的功能。 写作的过程中,参考了h 阅读全文
posted @ 2018-12-10 21:17 luStar 阅读(577) 评论(0) 推荐(1)
摘要:装饰器模式是比较常用的一种设计模式,Python中就内置了对于装饰器的支持。 具体来说,装饰器模式是用来给对象增加某些特性或者对被装饰对象进行某些修改。 如上图所示,需要被装饰的对象在最上方,它自身可以有自己的实例,一般通过抽象类来实现(Java中也可以通过接口实现)。 右侧中间是一个装饰器类或者接 阅读全文
posted @ 2018-07-18 18:30 luStar 阅读(12159) 评论(1) 推荐(2)
摘要:今天在实验室的项目中遇到了一个问题,直接上代码: 这段代码是我在Github上面直接下载的,是一段ViBe背景建模的代码。代码的内容是分配图像各个点sample的数组,也就是说每个点有一个样本集,总共是cols*rows*sample_num个数值,所以做成了一个三维数组的形式。 问题出现在析构上面 阅读全文
posted @ 2018-03-15 21:00 luStar 阅读(608) 评论(0) 推荐(0)
摘要:C++中,动态内存可以用new来实现,即在堆上申请空间,并需要显示释放这块动态内存。当然,也可以用智能指针来实现。 new有一个缺陷,就是把内存分配和对象构造结合在了一起。对于单个对象,这是很方便的,然而对于大块的内存时,可能需要先申请空间,然后陆续执行构造,此时需要将内存分配和对象构造分离开来。a 阅读全文
posted @ 2017-09-27 11:51 luStar 阅读(1389) 评论(0) 推荐(0)
摘要:C++11 引入了lambda表达式,这个特性的最普遍应用,就是配合泛型算法。 泛型算法,采用了迭代器操作,从而使得各种不同的容器能使用一套算法。泛型算法允许我们定制自己的操作,即传递一个可调用对象,lambda其实也是一个可调用对象。下面先介绍下lambda表达式的基本结构和特性,最后再深入探索l 阅读全文
posted @ 2017-09-16 16:07 luStar 阅读(6473) 评论(0) 推荐(0)
摘要:刷知乎看到了这个题目: 第一反应,这个写法有点太奇怪了吧...不过静下心来,还是可以解释一下的。 这个写法对于我这个小白来说,还是挺难认出来的...看了大神的意见,可读性比较好的写法,应该是用类型别名 这样可读性就好了许多,也比较容易理解了。ptr是一个函数,参数列表为(int,int),返回类型为 阅读全文
posted @ 2017-09-12 21:39 luStar 阅读(297) 评论(0) 推荐(1)
摘要:右值引用和移动操作是C++11提出的新概念,通过这些操作,可以降低拷贝操作带来的消耗。先来简单介绍一下左值和右值。 左值一般指的是一个对象,或者说是一个持久的值,例如赋值的返回值、下标操作、解引用以及前置递增等。 右值是一个短暂的值,比如一个表达式的求值结果、函数返回值以及一个字面值等。 为了区分, 阅读全文
posted @ 2017-09-12 20:59 luStar 阅读(2999) 评论(0) 推荐(0)
摘要:对于初始化的问题,我之前一直傻傻分不清。有关初始化以及赋值的区别也是一问题,这次回过头来看,配合<<CSAPP>>的内容,对初始化有了一些新的认识。 声明: 在环境/上下文中指定一个变量的名字。也就是说,声明仅仅是让编译器知道,而没有实际分配空间。 初始化:给一个声明后尚未初始化的变量一个有意义的初 阅读全文
posted @ 2017-08-29 20:17 luStar 阅读(18821) 评论(0) 推荐(0)
摘要:最近在重新看<<C++ Primer>>,第一遍的时候const和constexpr看得并不太懂,这次又有了些更新的理解,当然可能仍然有许多不对的地方... 首先,const限定符即“常量”,一旦使用了const,那么对象的值不能再改变,比如: const int i=1; 同时,const修饰的变 阅读全文
posted @ 2017-08-25 21:32 luStar 阅读(558) 评论(2) 推荐(1)