glibc-fopen源码阅读-补充篇-open系统调用

上一篇《glibc-fopen源码阅读》讲到了fopen是怎么工作的,以及FILE是怎么和文件关联起来的。但是再次阅读之后,发现还是有些细节存在疑问:

  1. 系统调用openat怎么就拿到了fd
  2. struct file怎么和文件内容关联起来的,什么时候关联起来的?

带着以上疑问,继续阅读系统的open类函数。不过仅了解fopen也是可以的,并不影响对glibc的文件打开过程的理解。


智能指针三剑客源码阅读

智能指针出现很多, 但是自己用得很少. 本文从源码层面来学习智能指针, 学习是怎么实现的, 以及如此实现可以实现如何的功能.

unique_ptr

我认为unique_ptr是编译器强制人类某些行为的例子, 只允许人类这样做而不允许人类那样做. 可以参考explicit说明符的一些想法.


explicit说明符

一直对explicit的认知比较模糊, 在准备智能指针内容的时候, 看到了这个内容, 所以索性认认真真学习一遍.

简单来说, explicit表达的是: 只允许显示行为, 不允许隐式行为.

要理解上面的解释, 就需要理解哪些是C++的显示行为, 哪些是隐式行为.