微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C ++中未知的构造/变量声明

如何解决C ++中未知的构造/变量声明

我对C ++很陌生。我在一般的编程方面,尤其是在C语言方面有一些经验。 我有一个我正在尝试理解的其他人编写的c ++项目,它包含以下格式的几个变量声明:

 uint64_t(*const col_timestamp)(const uint8_t* col_buf);

我无法理解这意味着什么。它甚至是变量声明吗?我会理解常量指针col_timestamp指向类型uint64_t的变量和指针col_buf指向类型const uint8_t的变量的两个单独的声明,如下所示:>

uint64_t * const col_timestamp;
const uint8_t * col_buf;

但是我不认为这是什么意思,因为那时我看不出用这种方式编写它的理由。非常感谢您的帮助,因为我有点被困在这里

很抱歉,如果这是一个重复的问题,但是我根本不知道要搜索什么,我想这对于熟悉c ++的人来说很简单。

谢谢!

解决方法

uint64_t(*const col_timestamp)(const uint8_t* col_buf);

是对函数的常量指针的声明,该函数的返回类型为uint64_t,并且参数类型为const uint8_t *

例如,如果您有一个声明为

的函数
uint64_t func_col_timestamp( const uint8_t *col_buf );

您可以声明并初始化一个指向类似函数的指针

uint64_t(*const col_timestamp)(const uint8_t* col_buf) = func_col_timestamp;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。