相关疑难解决方法(0)

在C++中优化成员变量顺序

我正在阅读一个由Introversion游戏编码器撰写博客文章,他正在忙着试图从代码中挤出每一个CPU蜱.他提到的一个伎俩是

"将类的成员变量重新排序为最常用和最少使用的."

我不熟悉C++,也不熟悉它的编译方式,但我想知道是否

  1. 这个说法准确吗?
  2. 如何/为什么?
  3. 它是否适用于其他(编译/脚本)语言?

我知道这个技巧节省的(CPU)时间量是最小的,这不是一个交易破坏者.但另一方面,在大多数函数中,很容易识别哪些变量将是最常用的,并且默认情况下只是以这种方式开始编码.

c++ embedded optimization performance

48
推荐指数
3
解决办法
1万
查看次数

为什么在C++中将私有成员定义在公共成员之下?

在C++中,有时在类定义中,公共成员首先被声明,稍后会被私有.但变量或数据成员通常是私有的,并由公共方法使用.因此,在这种情况下使用变量但尚未声明.因此代码变得难以理解.但我发现知名程序员,网站或书籍后来宣布私人会员.有谁知道是什么原因?

c++ private

27
推荐指数
3
解决办法
1万
查看次数

源代码中的类成员顺序

之前已经提出过这个问题(问题编号308581),但是这个特定问题和答案有点特定于C++,并且很多东西与Java或C#等语言并不相关.

问题是,即使在重构之后,我发现我的源代码文件中有一些混乱.我的意思是,函数体是正常的,但我对函数本身的排序方式并不满意.当然,在像Visual Studio这样的IDE中,如果你记得它是如何被调用的话,找到一个成员是相对容易的,但情况并非总是如此.

我已经尝试了几种方法,比如首先放置公共方法,但这种方法的缺点是文件顶部的函数最终调用文件底部的其他私有函数,所以我最终滚动所有时间.

另一种方法是尝试将相关方法组合在一起(可能放入区域),但显然这有其局限性,好像在同一个类中有许多非相关方法,那么可能是时候将类分解为两个或更多个更小的类.

因此,请考虑以下事项:您的代码已经过适当重构,以满足Code Complete中提到的所有要求,但您仍然希望根据人体工程学目的对方法进行重新排序.你的方法是什么?

(实际上,虽然这不是一个技术问题,但这个问题确实让我感到很生气,所以如果有人能想出一个好的方法,我会非常感激)

language-agnostic refactoring

8
推荐指数
1
解决办法
1336
查看次数