结构C++意义卡住了

Structure C++ meaning stuck

本文关键字:C++ 结构      更新时间:2023-10-16

这实际上是关于C++语言的问题,SNeuron(int NumInputs);结构内部是什么意思?我不是 c++ 程序员,这种结构内部结构对我来说看起来很奇怪。谁能解释一下它有什么用?我已经尝试过谷歌。

 struct SNeuron
    {
       //the number of inputs into the neuron
       int m_NumInputs;
       //the weights for each input
       vector<double> m_vecWeight;
       //ctor
       SNeuron(int NumInputs);
    };

C++ 中的结构与类完全相同,只是默认情况下结构的所有成员都是公共的。

因此,您在此处看到的只是结构的构造函数声明。

我相信,原因是为了使与C的互操作性更容易。

它只是为结构 SNeuron 声明一个构造函数。这称为原型方法,除非稍后实现,否则不会崩溃。它可以在类内部实现

,方法是说
SNeuron(int NumInputs) {
    // Constructor code
}

或者像这样在外面:

SNeuron::SNeuron(int NumInputs) {
    // Constructor code
}

这样做的主要用途是初始化字段m_NumInputs和m_vecWeight。

当创建结构的实例时,需要"构造"(即初始化),这是通过构造函数来完成的,编译器在创建实例时会自动调用这些函数。

例如,在以下使用该结构的变量声明和定义中,将调用构造函数:

SNeuron myNeuron(5);  // Creates the instance and calls the constructor function

这只是一个构造函数。构造函数基本上是一种机制,通过该机制,在创建类类型的对象时初始化该类的所有数据成员。

您可以为结构和类编写构造函数。但是您在代码中声明的构造函数不是默认构造函数,因为默认构造函数是不带参数的构造函数。