stl in gamedev
来源:互联网 发布:不干胶标签制作软件 编辑:程序博客网 时间:2024/06/15 21:55
1,STL简介
STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称
STL的代码从广义上讲分为三类:algorithm(算法)
2,游戏开发中使用STL
STL针对C++开发过程中的典型而且常用的问题进行实现
《c++标准程序库》(<The c++ standard library>)是广为流传的讲述STL使用的书;
而且对于在校的学生来说,STL的使用更是面试必遇的问题;
3,using STL with source code and profiler
在使用STL的过程中需要去阅读STL的代码,在写下每个调用时
Use STL instead of being used;
同时需要一些profiler来评测你的程序效率
当对STL的使用变得熟练而且思绪变得清晰,结果即让开发过程变得
另外一方面STL主要用template实现来获得良好的通用性和
而阅读stl代码绝对是学习template极佳的途径
<MODERN C++ DESIGN GENERIC PROGRAMMING AND DESIGN PATTERNS APPLIED>是有关template非常优秀的书;
4,STL&Kiss
Kiss==Keep it simple and stupid
简洁之美贯穿于coder的思考方式和代码风格中
1,make it work
2,make it fast
3,make it beautiful
如果在可以熟练高效的使用STL之后,却时刻下意识的去追求STL
最好淳朴而合理的使用STL;
在coding的开始阶段,我们需要的是尽快把功能实现
feature实现好之后进入优化阶段,此时我们对code的理解
恩恩,我们奉行简洁的原则,我们驾驭STL;
5,自己实现STL?
的确目前大型商业游戏引擎几乎都带有自己的STL实现
恩,首先我们需要了解为什么要重新实现STL;
1,效率&通用性:对于面向多个平台的游戏来说,各个平台的STL
game coder们到一定程度就难以忍受这些,"我们需要更强有力的控制
2,扩展性:STL所提供的功能根本满足不了引擎的需要
所以针对自己实现STL这个问题:自然最好;
当项目开发处于低级阶段:
@对于功能更加强大的基础代码的要求并没有那么强烈,or
@引擎的优化不够成熟,仍旧有优先级更高的优化和实现工作要做
@只对单一平台开发,基于普通STL扩展即可
大可把注意力集中在其他地方,在必要的时候再着手"发明这个轮子"
当项目的确在需要更高的效率,更好的移植性,更好的扩展的时候
开发的工作量和难度,
测试的工作量和项目进度,
在相当长时期内,潜在的给项目带来的不稳定性;
这些都OK的时候,剩下的就是享受编程了哦 ^_^
- stl in gamedev
- union[c++] in gamedev
- unit testing in gamedev
- smart pointer in gamedev
- (摘自GAMEDEV)Loading a Texture2D Array in DirectX11
- Render to Texture2DArray slices in DirectX11?(转自GAMEDEV)
- goto gamedev blog
- binary search in STL
- Concept Checks in STL
- Figuring in STL
- Concept Check in STL
- stricmp in STL
- STL in C++ 概述
- STL Algorithms in Action
- STL in one article
- STL in ACM
- about set insert in stl
- STL in ACM【未看过】
- 局域网内安装jre到客户端的简单办法
- 发现一个传播威金/Worm.Win32.Viking.if的网站,用的技术很新颖
- IT经典书籍推荐(入门或深入) 测试首次blog
- 向表中插入子查询
- 怎样做一个CSDN的博客
- stl in gamedev
- java加密数据库字段
- 常用SQL字符串函数
- RSS 阅读
- cao他妈,老子刚签了卖身契,心里很不爽
- 隐藏进程(在任务管理器中看不到),vc6.0
- 一本好书赶紧去下载
- 数据库连接URL中分号引发的错误
- 穷举法应用