结构C++意义卡住了
Structure C++ meaning stuck
这实际上是关于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
这只是一个构造函数。构造函数基本上是一种机制,通过该机制,在创建类类型的对象时初始化该类的所有数据成员。
您可以为结构和类编写构造函数。但是您在代码中声明的构造函数不是默认构造函数,因为默认构造函数是不带参数的构造函数。
相关文章:
- 如何循环打印顶点结构
- 通过方法访问结构
- 使用不带参数的函数访问结构元素
- 预处理器:插入结构名称中的前一个行号
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 孤立代码块在结构中引发异常
- 有什么方法可以遍历结构吗
- 如何在 C# 中映射双 C 结构指针?
- 如何在C++中使用结构生成映射
- 无法将结构注册为增强几何体3D点
- 多成员Constexpr结构初始化
- C++将文本文件中的数据读取到结构数组中
- 如何重构类层次结构以避免菱形问题
- 如何在C++中序列化结构数据
- std::vector的包装器,使数组的结构看起来像结构的数组
- 没有为自己的结构调用列表推回方法
- 奇怪的结构&GCC&clang(void*返回类型)
- 在 c++ 中拥有一组结构的正确方法是什么?
- vscode g++链路故障:体系结构x86_64的未定义符号
- C++概念:如何使用'concept'检查模板化结构的属性?