鱼C论坛

 找回密码
 立即注册
查看: 2042|回复: 1

[已解决]请教一些语法和编程规范的问题

[复制链接]
发表于 2023-3-30 01:57:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我在写一些c++代码。
在我的.h文件中,定义了一个类

  1. class Value{
  2.     public:
  3.         int length;
  4.         float* data;
  5. }
复制代码

另外有一个fnc函数是用来操作这个类型的,它有两个重载

  1. void fnc(Value& val);
  2. void fnc(int length,float* data);
复制代码


前面void fnc(Value& val);实现时仅仅是在调用它的另一个重载
  1. inline void fnc(Value& val){return fnc(vec.length,vec.data);}
复制代码

我能不能直接把这段代码写在.h文件中呢?
最佳答案
2023-3-30 07:36:44
可以将这段代码写在.h文件中,因为它是一个inline函数。将函数定义放在头文件中,可以让编译器在编译时将函数体嵌入到调用它的代码中,提高代码的执行效率。但是需要注意,如果该函数在多个文件中被调用,则会出现重复定义的问题,需要使用include guards或#pragma once来避免该问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-3-30 07:36:44 | 显示全部楼层    本楼为最佳答案   
可以将这段代码写在.h文件中,因为它是一个inline函数。将函数定义放在头文件中,可以让编译器在编译时将函数体嵌入到调用它的代码中,提高代码的执行效率。但是需要注意,如果该函数在多个文件中被调用,则会出现重复定义的问题,需要使用include guards或#pragma once来避免该问题。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-22 22:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表