09 2017 档案
摘要:C++中,动态内存可以用new来实现,即在堆上申请空间,并需要显示释放这块动态内存。当然,也可以用智能指针来实现。 new有一个缺陷,就是把内存分配和对象构造结合在了一起。对于单个对象,这是很方便的,然而对于大块的内存时,可能需要先申请空间,然后陆续执行构造,此时需要将内存分配和对象构造分离开来。a
阅读全文
摘要:C++11 引入了lambda表达式,这个特性的最普遍应用,就是配合泛型算法。 泛型算法,采用了迭代器操作,从而使得各种不同的容器能使用一套算法。泛型算法允许我们定制自己的操作,即传递一个可调用对象,lambda其实也是一个可调用对象。下面先介绍下lambda表达式的基本结构和特性,最后再深入探索l
阅读全文
摘要:刷知乎看到了这个题目: 第一反应,这个写法有点太奇怪了吧...不过静下心来,还是可以解释一下的。 这个写法对于我这个小白来说,还是挺难认出来的...看了大神的意见,可读性比较好的写法,应该是用类型别名 这样可读性就好了许多,也比较容易理解了。ptr是一个函数,参数列表为(int,int),返回类型为
阅读全文
摘要:右值引用和移动操作是C++11提出的新概念,通过这些操作,可以降低拷贝操作带来的消耗。先来简单介绍一下左值和右值。 左值一般指的是一个对象,或者说是一个持久的值,例如赋值的返回值、下标操作、解引用以及前置递增等。 右值是一个短暂的值,比如一个表达式的求值结果、函数返回值以及一个字面值等。 为了区分,
阅读全文

浙公网安备 33010602011771号