gpt4 book ai didi

c++ - 具有许多成员的类(class)的最佳做法

转载 作者:可可西里 更新时间:2023-11-01 15:52:53 25 4
gpt4 key购买 nike

关于在 C++ 中组织类成员(尤其是当有很多成员时)的最佳方式的任何意见。特别是,一个类有很多用户参数,例如一个优化某些函数并具有参数数量的类,例如迭代次数、优化步骤的大小、使用的特定方法、优化函数权重等。我尝试了几种通用方法,似乎总能找到一些不理想的东西它。只是好奇别人的经历。

  1. 类内结构
  2. 类外结构
  3. 公共(public)成员变量
  4. 带有 Set() 和 Get() 函数的私有(private)成员变量

更具体地说,我正在处理的代码会跟踪一系列图像中的对象。所以一个重要的方面是它需要在帧之间保留状态(为什么我不只是制作一堆函数)。重要的成员函数包括 initTrack()、trackFromLastFrame()、isTrackValid()。并且有一堆用户参数(例如,每个跟踪对象要跟踪多少个点,一个点可以在帧之间移动多少,使用的跟踪方法等)

最佳答案

如果你的类(class)是BIG,那么你的类(class)是BAD。一个类应该尊重 Single Responsibility Principle ,即:一个类应该只做一件事,但应该做好。 (嗯,“只有一个”是极端的,但它应该只有一个作用,而且必须明确执行)。

然后您创建类,通过与那些单一角色的小类组合来丰富这些类,每个类都有一个清晰而简单的角色。

大函数和大类嵌套了错误、误解和不需要的副作用,(尤其是在维护期间),因为没有人可以在几分钟内学会 700 行代码。

所以大类的策略是:重构,与小类组合,只针对它们所做的事情。

关于c++ - 具有许多成员的类(class)的最佳做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4018464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com