在C ++构造函数中循环是一个好主意吗?

瓦托

我在写作业代码。所以当我完成一堂课时,我遇到了一个问题。有一个循环为数组分配值是一个好主意吗?这是我的课。我正在考虑在构造函数中进行循环或创建一个函数,该函数稍后将通过手动调用它来分配值。

这些选择是否不同?如果是,哪个选择更好,为什么?

class Mule
{
    private:
        int numofMules;
        int MapSize;
        MuleNode* field;
        MuleNode* mules;
    public:
        void random_positions();
        void motion();
        void print_field();
        Mule(int nofMules, int mSize)
        {
            numofMules = nofMules;
            MapSize = mSize;
            mules = new MuleNode[numofMules];
            field = new MuleNode[MapSize*MapSize];
            for(i = 0; i < numofMules; i++)                              
            {
                mules[i].ID = i+1;
            }
            random_positions();
        }   
}

由于在编译时分配一维数组的问题而对代码进行了编辑,并使用公式在1维中重新创建了二维数组。

+---------------+-----------+-----------+  
| i = j * w + i | x = i % w | y = i / w |  w - width of the 2 dimentional array
+---------------+-----------+-----------+  

结论:由于该问题被标记为基于意见的,我想这意味着在构造函数中使用循环或创建稍后将分配值的函数没有太大区别。

如果有关于此问题的任何事实或观点值得分享,请发表评论或写出答案。

杰里·科芬

在ctor中循环并不一定有什么可怕的。

同时,值得考虑的是,您要初始化的那些项目是否可以/不应该是知道如何初始化自身的对象,而不是创建未初始化的实例,然后将值写入其中的对象。

如您所写,代码似乎并没有多大意义。类名是Mule,但是基于ctor,它实际上更像是Mules的集合。一个ule子应该就是:一个m子。N个mu子的集合应该像一个std::vector<Mule>M子实际上是Mul子的集合,这是一个糟糕的主意。

您还应该至少考虑使用std::vector而不是使用数组(当然,假设最终您最终获得了该类中的所有项目的集合)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++创建一个头文件来解决循环依赖是一个好主意吗?

来自分类Dev

使用宏在C中实现通用向量。这是一个好主意吗?

来自分类Dev

在C中创建一个通用的“函数指针”联合是一个坏主意吗?

来自分类Dev

使用C#和XNA学习游戏编程是一个好主意吗?

来自分类Dev

什么时候在C ++中返回const引用是一个好主意?

来自分类Dev

Javascript-在闭包内使用函数构造函数不是一个好主意吗?

来自分类Dev

广泛使用Factory构造函数是一个好主意吗?

来自分类Dev

我可以从 C# 中另一个类的构造函数调用构造函数吗?

来自分类Dev

为什么这种异常的Objective-C设计模式不是一个好主意?

来自分类Dev

为什么这种不寻常的Objective-C设计模式不是一个好主意?

来自分类Dev

在C回调中尝试{} catch(...){}-好主意吗?

来自分类Dev

使用goto避免深度函数调用中的堆栈溢出是一个好主意吗?

来自分类Dev

使用“ is”检查变量中包含哪个函数是一个好主意吗?

来自分类Dev

同一类的另一个构造函数中的c ++调用构造函数

来自分类Dev

在微控制器上用C ++调整动态数组的大小是否是一个好主意

来自分类Dev

在微控制器上用C ++调整动态数组的大小是否是一个好主意

来自分类Dev

在构造函数中反应属性解构。是个好主意吗?

来自分类Dev

将 c++11 之前的设置函数更改为具有转发功能的现代模板化函数是个好主意吗

来自分类Dev

全局公开Vulkan的函数指针是一个好主意吗?

来自分类Dev

包装函数的返回值是一个好主意吗?

来自分类Dev

提取大量String文字是一个好主意吗?

来自分类Dev

组合实例VBO是一个好主意吗?

来自分类Dev

一个好主意是为此使用复合模式吗?

来自分类Dev

使用NTFS压缩是一个好主意吗?

来自分类Dev

绑定PasswordBox密码不是一个好主意吗?

来自分类Dev

组合实例VBO是一个好主意吗?

来自分类Dev

别名cd推送-这是一个好主意吗?

来自分类Dev

一个好主意是为此使用复合模式吗?

来自分类Dev

从C ++ 17中的另一个构造函数调用具有不同参数类型的构造函数

Related 相关文章

  1. 1

    C ++创建一个头文件来解决循环依赖是一个好主意吗?

  2. 2

    使用宏在C中实现通用向量。这是一个好主意吗?

  3. 3

    在C中创建一个通用的“函数指针”联合是一个坏主意吗?

  4. 4

    使用C#和XNA学习游戏编程是一个好主意吗?

  5. 5

    什么时候在C ++中返回const引用是一个好主意?

  6. 6

    Javascript-在闭包内使用函数构造函数不是一个好主意吗?

  7. 7

    广泛使用Factory构造函数是一个好主意吗?

  8. 8

    我可以从 C# 中另一个类的构造函数调用构造函数吗?

  9. 9

    为什么这种异常的Objective-C设计模式不是一个好主意?

  10. 10

    为什么这种不寻常的Objective-C设计模式不是一个好主意?

  11. 11

    在C回调中尝试{} catch(...){}-好主意吗?

  12. 12

    使用goto避免深度函数调用中的堆栈溢出是一个好主意吗?

  13. 13

    使用“ is”检查变量中包含哪个函数是一个好主意吗?

  14. 14

    同一类的另一个构造函数中的c ++调用构造函数

  15. 15

    在微控制器上用C ++调整动态数组的大小是否是一个好主意

  16. 16

    在微控制器上用C ++调整动态数组的大小是否是一个好主意

  17. 17

    在构造函数中反应属性解构。是个好主意吗?

  18. 18

    将 c++11 之前的设置函数更改为具有转发功能的现代模板化函数是个好主意吗

  19. 19

    全局公开Vulkan的函数指针是一个好主意吗?

  20. 20

    包装函数的返回值是一个好主意吗?

  21. 21

    提取大量String文字是一个好主意吗?

  22. 22

    组合实例VBO是一个好主意吗?

  23. 23

    一个好主意是为此使用复合模式吗?

  24. 24

    使用NTFS压缩是一个好主意吗?

  25. 25

    绑定PasswordBox密码不是一个好主意吗?

  26. 26

    组合实例VBO是一个好主意吗?

  27. 27

    别名cd推送-这是一个好主意吗?

  28. 28

    一个好主意是为此使用复合模式吗?

  29. 29

    从C ++ 17中的另一个构造函数调用具有不同参数类型的构造函数

热门标签

归档