我看了很多文章,大多数人讲的是同一个故事:除非必须,否则不要使用指针.来自C#/ Java背景,其中内存全部被管理,我完全不知道什么时候使用指针是合适的,除了这些情况:
什么时候我会使用指针,特别是在gamedev的上下文中?
"不要使用指针,它们很慢" 没有意义(至少在C++ 中没有意义).
这就像是说"不要使用变量,它们很慢".
你是说,"不要使用动态内存分配 "?
如果是这样的话:我认为你现在不应该担心.首先编写代码,然后再进行优化.
或者你的意思是说,"不要使用原始指针(即类型foo*)",这将需要new和delete?
如果是这样,这是一个很好的建议:你通常需要智能指针,比如shared_ptr或者unique_ptr来管理对象,而不是处理原始指针.你不应该需要使用new,并delete在大多数C++代码,尽管这看起来自然.
但它们仍然是引擎盖下的指针!
或者你的意思是其他什么?
感谢下面的@ bames53指出这一点:
如果传递一个副本的选项(即当你传递小数据量,而不是一个巨大的结构或数组可能比一些寄存器较大,例如顺序〜16个字节的),也不能使用指针(或参考)传递数据; 而是通过副本传递.它允许编译器以这种方式更好地进行优化.
| 归档时间: |
|
| 查看次数: |
4037 次 |
| 最近记录: |