首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
里里外外专题
条款30:透彻了解inlining的里里外外
首先,inline函数只是一个申请,而不是命令。编译器可以执行你的申请,也可以拒绝。 申请有两种形式:隐式申请:在类内部定义的函数都默认为inline函数,甚至包括内部定义的友元函数。显示申请:使用inline关键字。 其次,inline函数一般要放到头文件中,因为编译器需要在程序调用内联函数时立刻将他替换,所以必须要知道这个函数的具体内容。类似的还有模板,必须在让编译器能够在调用模板的的
阅读更多...
ExoPlayer里里外外之:流媒体播放与数据结构
播放器中的Buffer(从source读到视频数据经过处理送给Decoder解码之前存放视频数据的缓冲,“source->Buffer->decoder”)设计往往很重要,涉及读、写、跳转等操作的效率,流媒体播放器更是如此,经典的设计比如rolling buffer,还有叫ring-buffer的,简单理解就是一个数组然后让首、尾连起来,通过读指针和写指针的移动来控制读写的位置更新。
阅读更多...