首先声明:我水平很一般。
正题:指针、二级指针在内核社区,或者在嵌入式领域,都是很常规的操作,而且主题部分的两段代码,第二段确实节省了语句指令、更简洁。应用层的 CV 程序员就不要乱说 linus 的不好了吧,首先提高下自己的水平再战好不好?又菜又不承认也就算了,还非要站出来去指责自己领域里神仙般的存在的代码,你们这些这样“我不要你觉得,我要我觉得。。。”的大神可真让人开眼。
@
ColorfulBoar #29
1. linux 内核不支持 cpp ,所以请不要用 cpp 引用这种来对比内核代码了吧
2. auto p = list_head(&head); 如果我没看错的话,head 自己是指针,&head 是二级指针,这里相当于把&head 这个二级指针强转成一级指针了吧?所以后面的操作内存应该已经是乱掉了吧?我很久没写 c/c++了,不知道是不是我看错了,各位确认下吧
3. 这段代码,引用和指针都用,看上去比 linus 的版本更容易迷惑人,比如我 2 中提到的,然后还有人点赞。。。
4. 单从命名上讲,list_head 这个也不合理啊,next 之后它还是 head 吗?明明是 list_item 更合理好不好?