c++ - 一个关于static语法的问题
本文介绍了c++ - 一个关于static语法的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
我尽量描述清楚问题,如有不清楚请留言,我会尽快回复.
有如下声明形式:
typedef struct mr_dup_ops
{
/* 查询镜像状态 */
int32_t (*dup_mirror_state_query)(uint32_t, mr_kern_mirror_state_query_req_t*);
……………………
……………………
} mr_dup_owner_ops_t;
然后声明
static mr_dup_owner_ops_t g_local_mr_dup_ops = {
.dup_mirror_state_query = mr_ioctl_kern_mirror_state_query,
………………
………………
};
然后假设有mr_dup_owner_ops_t的指针ops的话就可以通过 ops->dup_mirror_state_query来访问函数mr_ioctl_kern_mirror_state_query.
结构体mr_dup_owner_ops_t我能看懂是声明了一组函数指针,那么加STATIC 结构体 结构体名 ={.dup_mirror_state_query 这是什么形式?
解决方案
初始化部分的语法是gcc的扩展,叫做Designated Initializers.
这篇关于c++ - 一个关于static语法的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文