|
花了几天时间,终于把这本书看完了。但看完之后,说实话,我对这本书评价不高。但作为第一本C++UE4教程,在对新手的引导上还是比较友好的。有值得肯定的地方。书中对C++基础语法有较为简单的讲解,看完前300页就可以对C++语法有个大概的了解。对于UE4的基本工作原理也清楚地剖析了一次,对我也大有裨益。最精彩的是后两个例子对向量运算的运用,实在把高一的向量运算又让发布作者从我脑海中掏了回来。
但是书中有几处不足之处(一些不足也有可能是为了面向入门者,牺牲准确性与高效性)
1、对数据结构的剖析、讲解不够清楚,初学者无从下手。我推荐各位初学者多看看博客里面对数据结构的分析(有不少精辟而且易懂)。
2、TSet准确的来说是红黑树实现的(与STL中的set类似),而非像图示一样用类似于线性链表的实现。而且存入的数据会排好顺序。不仅如此,还可以用于存放Actor等等的自定义的类(但是需要重载运算符)。在TSet中Find()的时间复杂度是最坏O(logN),比TArry的O(N)快。也就是说当你要存放10000个数据时,TSet的Find()将比TArry平均快500~1000倍!(当然,读入的时候则会多用2~3倍时间)右图为书中的图示,左图则为正确的图示。
3、对指针的讲解太少。指针作为C中文/外语的一个招牌,用法比较难掌握,而且容易出错。
4、粒子操作系统对每一个功能没有讲解全面,使人不知所以然。
综上,我建议读者们看到350页就此打住,再充实自己的C++编程实力与对UE4的运用经验,再回过头来研究这本书的后半部分。最后,推荐看不懂数据结构(链表,映射,集合)的同学,下载《数据结构与算法分析》这本书的电子版,看一看前几章(算法分析一章可忽略)。
后记
上周与Small Zero对以下代码的探讨,使我认识到了即使通读C++书籍,参加过各类比赛,还是需虚心研究。
*p- Next = NULL;
这是实现链表例程中的一句代码,当时我直接根据*p- Next就推出了Next应该是LinkList**,所以p也是LinkList**,但是这也就是说Next是p*下的吗?奇怪的是这段代码竟然能运行!后来max兄说UE4里实现链表确实用了二维指针,但我还是不是很懂。
我也只是UE4编程的初学者,欢迎各位有问题的同学在下方留言提问,我们相互促进。
|
|