c++ - 以不同的风格在 C++ 中定义函数
问题描述
最近在浏览某人用 C++ 编写的代码时,我看到他以非常不同的方式声明函数,他定义的函数如下所示:
struct Node{
Node* next;
Node* prev;
int value;
int key;
Node(Node* p, Node* n, int k, int val):prev(p),next(n),key(k),value(val){};
Node(int k, int val):prev(NULL),next(NULL),key(k),value(val){};
};
所以在这段代码中
Node(Node* p, Node* n, int k, int val):prev(p),next(n),key(k),value(val){};
我无法理解这一行,就像他如何以这种方式定义函数一样,因为我们定义了具有返回类型、参数和主体的函数(如果是构造函数,我们没有返回类型)。我无法理解这行代码是如何工作的。请任何人详细解释我。
在这段代码中,我无法理解他如何使用构造函数,就像他使用冒号定义它一样:
,还看到他如何初始化变量value
,只是将其转换为函数而没有正文value(val){}
提前谢谢。
解决方案
推荐阅读
- visual-studio-code - vscode中的Mypy构建任务失败
- react-native - React Native 样式覆盖数组
- r - 将 SAS 中的 NESTED IF 语句转换为 R
- c# - 取消选择项目时如何停止语音 Windows.Media.SpeechSynthesis
- android - 对话框滞后于视图通胀
- javascript - 向 D3 瀑布图添加多个小计
- java - 使用 webtarget 从客户端调用休息请求。但是休息资源的参数没有映射到客户端模型类参数
- java - 使用 Spring JPA 的单向多对多映射
- c# - 无法在 if 语句中添加 JSON 连接
- django - Django 模型字段在所有子类中唯一