结构成员(函数)是否可以在结构本身之前定义
Can a struct member(function) be defined before struct itself?
我是C++的新手,我有一个问题:作为函数的结构的成员可以在结构本身之前定义吗?
像这样:
void foo_t::SayHello() {
printf("Hello,World!n");
}
struct foo_t {
void SayHello();
};
因为通过使用此函数,我将struct
拆分为foo.h
,将SayHello()
拆分为C文件。
编辑::然后将.c
包含在.h
文件的顶部。不在文件末尾。
我很抱歉没有更具体,因为我是C++的新手,我不知道C++的术语。
否。(点)
但你可以这样做:
class foo_t;
void say_hello(const foo_t& foo) // defined in a source
struct foo_t {
void SayHello() const { say_hello(*this); }
};
但是:"然后在.h文件的顶部包含.c。而不是在文件的末尾。"让我不寒而栗。
没有,但您可以制作一个函数代理:
void foo_t_SayHello() {
printf("Hello,World!n");
}
struct foo_t {
void SayHello() { foo_t_SayHello(); }
};
一个好的编译器会内联这个,不会产生任何开销。
相关文章:
- 我的超类中的模板问题与结构定义
- 为私有结构定义双参数运算符重载
- 可视化C++中的结构定义错误
- 如何在结构定义中组合__attribute__((dllexport))和[[nodiscard]]?
- COM 互操作结构定义与内存布局不匹配
- C 在标题文件中创建具有结构定义的结构的队列
- 如何将结构定义为结构的成员
- 在这个节点定义中,为什么我们在结构定义之后使用"Node"?
- 不同模块中的ambigus结构定义
- 有条件的C/C 结构定义
- C++ 初始化结构定义中的向量
- 字符串声明中的结构定义中的字符串声明
- 使用结构定义函数
- 为具有许多数据成员的结构定义 == 和<
- enableif结构定义和默认模板参数
- C 使用模板为结构定义别名
- C/C++ 中的套接字编程 - 接收由 typedef 结构定义的消息
- 为C++结构定义显式析构函数如何影响调用约定
- 当结构定义在头文件中时,如何在main()中创建结构数组
- C结构定义标准