这是关于C ++语言的真正问题,SNeuron(int NumInputs);
在结构中意味着什么?我不是c ++程序员,这种结构内部结构对我来说很奇怪。任何人都可以解释它可能是什么?我已经尝试过google了。
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);
};
答案 0 :(得分:3)
C ++中的结构与类完全相同,只是结构的所有成员默认都是公共的。
所以你在这里看到的只是结构的构造函数声明。
我认为,原因是为了简化与C的互操作性。
答案 1 :(得分:2)
它只是声明struct SNeuron的构造函数。这称为原型方法,除非稍后实施,否则不会进行操作。它可以通过说
在课堂内实现SNeuron(int NumInputs) {
// Constructor code
}
或者像这样:
SNeuron::SNeuron(int NumInputs) {
// Constructor code
}
这个的主要用途是初始化字段m_NumInputs和m_vecWeight。
答案 2 :(得分:1)
当创建结构的实例时,它需要“构造”(即初始化),这是通过构造函数完成的,构造函数在创建实例时由编译器自动调用。
例如,在下面的声明和使用该结构的变量定义中,将调用构造函数:
SNeuron myNeuron(5); // Creates the instance and calls the constructor function
答案 3 :(得分:0)
这只是一个构造函数。构造函数基本上是一种机制,通过该机制,在创建该类类型的对象时初始化类的所有数据成员。
您可以为struct和class编写构造函数。 但是您在代码中声明的构造函数不是默认构造函数,因为默认构造函数是不带参数的构造函数。