结构 C++ 含义卡住
Structure C++ meaning stuck
这真是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);
};
C++ 中的结构与 class 完全相同,除了默认情况下结构的所有成员都是 public。
所以您在这里看到的只是结构的构造函数声明。
我认为原因是为了更容易与 C 进行互操作。
它只是为结构 SNeuron 声明一个构造函数。这称为原型方法,除非稍后实现,否则不会起作用。它可以通过说
在 class 内部实现
SNeuron(int NumInputs) {
// Constructor code
}
或者外面这样:
SNeuron::SNeuron(int NumInputs) {
// Constructor code
}
这个的主要用途是初始化字段 m_NumInputs 和 m_vecWeight。
创建结构实例时,需要"constructed"(即初始化),这是通过构造函数完成的,编译器在创建实例时自动调用这些函数。
例如,在下面声明和定义一个使用结构体的变量时,会调用构造函数:
SNeuron myNeuron(5); // Creates the instance and calls the constructor function
那只是一个构造函数。构造函数基本上是一种机制,当创建 class 类型的对象时,您可以通过该机制初始化 class 的所有数据成员。
您可以为 struct 和 class 编写构造函数。
但是您在代码中声明的构造函数不是默认构造函数,因为默认构造函数是不带参数的构造函数。
这真是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);
};
C++ 中的结构与 class 完全相同,除了默认情况下结构的所有成员都是 public。
所以您在这里看到的只是结构的构造函数声明。
我认为原因是为了更容易与 C 进行互操作。
它只是为结构 SNeuron 声明一个构造函数。这称为原型方法,除非稍后实现,否则不会起作用。它可以通过说
在 class 内部实现SNeuron(int NumInputs) {
// Constructor code
}
或者外面这样:
SNeuron::SNeuron(int NumInputs) {
// Constructor code
}
这个的主要用途是初始化字段 m_NumInputs 和 m_vecWeight。
创建结构实例时,需要"constructed"(即初始化),这是通过构造函数完成的,编译器在创建实例时自动调用这些函数。
例如,在下面声明和定义一个使用结构体的变量时,会调用构造函数:
SNeuron myNeuron(5); // Creates the instance and calls the constructor function
那只是一个构造函数。构造函数基本上是一种机制,当创建 class 类型的对象时,您可以通过该机制初始化 class 的所有数据成员。
您可以为 struct 和 class 编写构造函数。 但是您在代码中声明的构造函数不是默认构造函数,因为默认构造函数是不带参数的构造函数。