Skip to content

Week Note: August Week 3¤

本周(08/12 ~ 08/18)是八月份第三周,中元节 ...

Life¤

这周末是中元节,要回一趟老家过节,顺带接老妈回南宁。周一到周五就是平平淡淡的生活,然后这周牙齿也没有去弄了,嗯,这个牙齿呢现在还需要等等,之前已经把这个牙齿的模型采集发到工厂,等工厂把这个嵌体做回来之后,才把它嵌入到坏的牙齿内固定,所以现在还在等医院电话通知。

周末这两天回老家过中元节,广西的中元节还是蛮隆重的,每家每户都会杀鸭子,所以说这个鸭子呢,应该是最恨这个节,记得去年中元节没有回老家,想在南宁买个烧鸭过节,结果所有的店,美团上看了所有的店关于鸭子的外卖都卖断货了。

老家是在村里的,现在比较荒凉,人烟稀少,田地也很多没人种了,蚊虫特别多,8月份还是比较热的,再加上老家的房子朝西,早上东边太阳直射屋内,下午西边太阳也是直射屋内,下午一进屋内简直就像进入了一个烤炉。所以在老家也没那么舒服。不过还好去年装了个空调,晚上睡觉也还不错。

往年暑假基本也都会回一趟老家——摘龙眼,老家种了几颗龙眼树,正常的话每年的龙眼都是吃不完,最后没人摘全坏在树上。但今年例外,所有的龙眼树都没有结果,而且镇上买也要十元左右一斤,证明今年的气候确实导致龙眼严重减产了啊!

老家人太少了,成年人基本都出去了,小朋友也跟着去城市读书了,娃每次回来都找不到玩伴,也就过年时多点小朋友有一些能玩,这次回来更是一个小朋友都没看到,大娃天天在家里玩水,玩火啊的。还好这个周末娃的两个姑姑也都带娃一起回来了,几个老表疯狂玩了一天,这也是除了过年今年第一次全家一起聚会了,姐夫从北海带了很多海鲜回来,有大螃蟹,大虾,鱿鱼仔等,又有老爸养的土鸡土鸭,食材是满分了,差一个满分厨师,不过也吃得很开心了。

周天中午吃完午饭休息一会就回南宁了,又剩老爸孤零零一个人在老家照顾奶奶了...

Work¤

@本周学习

Effective Modern C++ 第四章 Smart Pointers¤

  • std::unique_ptr是轻量级、快速的、只可移动智能指针,默认情况,资源销毁通过delete实现,但是支持自定义删除器;可以转化为std::shared_ptr;非常适合用作工厂函数返回类型(所有权完全给到调用者);
  • std::shared_ptr为有共享所有权的任意资源提供一种自动垃圾回收的便捷方式;std::shared_ptr对象通常比std::unique_ptr大两倍,控制块会产生开销,需要原子性的引用计数修改操作。默认资源销毁是通过delete,也支持自定义删除器。切记避免从原始指针变量上创建std::shared_ptr,尽量使用std::make_shared创建。
  • std::shared_ptr 不同,std::weak_ptr 并不拥有对象,也就是说,它的存在不会增加对象的引用计数。这意味着 std::weak_ptr 指向一个对象时,它不会阻止该对象被销毁。std::weak_ptr 适用于跟踪由 std::shared_ptr 管理的对象,而不需要延长该对象的生命周期。可以理解为 std::weak_ptr 作为 std::shared_ptr的观察者;std::weak_ptr的潜在使用场景包括:缓存、观察者列表、打破std::shared_ptr环状结构
  • 优先考虑使用std::make_uniquestd::make_shared,而非直接使用new;不适合使用make函数的情况包括需要指定自定义删除器和用花括号初始化对象;
  • 当使用Pimpl惯用法,对于std::unique_ptr类型的pImpl指针,需要在头文件的类里声明特殊的成员函数,但是在实现文件里面来实现他们。即使是编译器自动生成的代码可以工作,也要这么做;但 std::shared_ptr不需要。

@本周工作