cpd*_*pd1 1 c++ arrays structure
我注意到其他学生喜欢使用大量数组来表示某些对象的字段.
这是因为从数组访问元素与从结构中访问字段的速度更快吗?
例如,假设我为某些对象存储了时钟周期...
1) An array of 5 ints
2) As a field in 5 structures
Run Code Online (Sandbox Code Playgroud)
然后我需要访问这些元素以找到min/max.
我喜欢将某些对象的属性保持在一起的想法,而不是将多个数组用于自然适合的字段.我只是不确定我是否正在编写一个被认为是错误的编程习惯,将其作为一个结构中的字段来处理.
也许不是5个元素 - 但有数千个元素,可能会有所不同.
缓存的通用原则是参考的位置 - 将内容存储在一起更好.如果您知道您的程序只能访问结构的一个(或几个)字段,那么最好将该字段重新定位到专用数组中.如果程序访问结构的所有(或大多数)字段,最好将结构本身保存在数组中.
然而,就像与性能相关的所有事情一样,真实的行为经常令人惊讶,您通常必须衡量一种实施方式,然后另一种方式,并选择最佳方式.
如果您的应用程序不需要性能优化,只需使用最易读的代码.它可以将您的"时钟周期"分配为一个struct或一个数组中的字段- 哪种方式更具可读性取决于您的应用程序.有时甚至是您正在开发的应用程序的哪个方面.