读书笔记
文章平均质量分 83
取个名字就这么难
学艺未精。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Effective Modern C++】Chapter 5 右值引用、移动语义和完美转发
Chapter 5 右值引用、移动语义和完美转发 移动语义:用移动操作来替代昂贵的复制操作。 完美转发:函数模板转发其他函数,目标函数将接收到与转发函数所接受的完全相同的实参。 右值引用:让移动语义和完美转发成为可能。 实际情况: std::move其实并没有移动任何东西… 完美转发并不完美… 移动操作的成本并不一定比复制低… 移动语境中不一定能调到移动操作… "type&&"并不总是表示右值引用… C++规则:形参总是左值,即使其型别是右值引用。 23. std::move &原创 2021-07-24 17:24:40 · 292 阅读 · 0 评论 -
【Python CookBook】第七章:函数
用*参数接受任意数量的位置参数,用**参数接受任意数量的关键字参数,在*参数后面的参数为强制关键字参数,典型用法如下,args为序列,如列表和元组等,kwargs为字典。 def anyargs(*args, **kwargs): 强制关键字参数:放在某个*参数后或者单个*之后。强制关键字参数的调用必须指定。好处是表意清晰,增加可读性。 def fun(*args, block=None): def fun(maxsize, *, block): # 调用: recv(1024, True) #..原创 2020-05-30 17:15:57 · 291 阅读 · 0 评论 -
【Python CookBook】第四章 迭代器与生成器
迭代器,可迭代对象,迭代器协议,生成器;next()函数,_iter_()函数,yield语句;以及如何自己创建一个迭代器或者可迭代对象,见:迭代器,生成器与协程 反向迭代:reversed()函数。反向迭代需要对象的大小可预先确定或者本身实现了_reversed_()函数才行。 >>> a = [1, 2, 3, 4] >>> for x in reversed(a): ... print(x) ... 4321 需要将生成器暴露外部状态,可将实现一个类,..原创 2020-05-28 11:12:06 · 293 阅读 · 0 评论 -
【Python CookBook】第一章 数据结构和算法
解压不确定个数或任意个数元素的可迭代对象时可用*星号表达式,得到的是一个列表(即使为空),*_ 可接受多个需要丢弃的元素。 first, *middle, last = grades first, *_ = grades 队列使用:collections.deque 使用deque(maxlen=N) 构造函数会新建一个固定大小的队列。当新的元素加入并且这个队列已满的时候,最老的元素会自动被移除掉。 在队列两端插入或删除元素时间复杂度都是O(1) 堆使用:heapq heapq 模块有..原创 2020-05-26 11:02:43 · 232 阅读 · 0 评论
分享