首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最佳实践:函数注释应该放在C/C++代码中的哪个位置?

在C/C++代码中,函数注释应该放在函数原型或声明的开头,并且在函数名和参数列表之间。这样可以确保注释与函数定义保持一致,并且易于阅读和理解。例如:

代码语言:c
复制
/**
 * 这是一个函数注释示例
 *
 * @param arg1 参数1的描述
 * @param arg2 参数2的描述
 * @return 函数返回值的描述
 */
void my_function(int arg1, int arg2);

在这个示例中,函数注释放在了函数原型的开头,并且使用了Doxygen格式来描述函数的参数和返回值。这种注释风格可以被许多文档生成工具识别,并且可以自动生成函数文档。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【编程陷阱】编写出色C++代码:遵循注意事项和最佳实践

强制类型转换注意点 C++格式转化和C语言不同, 静态强制类型转换 (static_cast) 动态强制类型转换 (dynamic_cast) 常量强制类型转换 (const_cast) 旧式...n 是要读取最大字符数(包括终止符 \0),即字符数组大小。 stream 是文件流指针,指定从哪个文件流读取字符,通常可以是 stdin(标准输入)、stdout(标准输出)等。...C/C++结构体注意点 在C语言,结构体声明和C++不同,见3.2 KiKi设计类继承 解决办法:C++设计结构体不要用typedef /*C语言*/ typedef struct Shape...纯虚函数: 纯虚函数本身在基类没有具体实现,而是在派生类中被强制要求实现。...STL 8.1 vector vector输入需要注意:详见2.3【C++】STL基本用法 ️‍♀️9.

14510
  • 4.C++函数重载,C++调用C代码,newdelete关键字,namespace(命名空间)

    本章主要内容: 1)函数重载 2)C++调用C代码 3)new/delete关键字实现动态内存分配 4)namespace命名空间 ---- 大家都知道,在生活,动词和不同名词搭配一起,意义都会大有不同...,比如”玩”: 玩游戏 玩卡牌 玩足球 所以在C++,便出现了函数重载(JAVA,c#等语言都有函数重载) 1.函数重载(overload) 表示有多个相同函数名(类似上面的”玩”),但是参数表不同...当C++想调用C某个函数时,则使用extern “C” 还是举个栗子,通过C++调用C里面的add()函数 1) 首先创建3个文件 ?...free(p); } 从上面栗子,可以看到C是通过库函数完成内存分配 3.2而在C++,则通过new关键字进行内存申请,delete关键字进行内存释放,比如: ?...+命名空间(namespace) 4.1回顾C: 大家都知道,在C语言中,当编译多个C文件时,可能会遇到同名全局标识符错误,这是因为C语言中所有全局标识符都是共享同一个作用域 4.2所以C++便提出命名空间

    84220

    C++类设计和实现十大最佳实践

    C++代码提供了足够灵活性,因此对于大部分工程师来说都很难把握。本文介绍了写好C++代码需要遵循10个最佳实践,并在最后提供了一个工具可以帮助我们分析C++代码健壮度。...新C++标准实际上简化了许多令人沮丧细节,提供了新现代方法来改进C++代码,但让开发人员认识到这一点并不容易。 以内存管理为例,这可能是C++受到最多批评机制。...尽管许多书籍、网络资源、会议演讲者和专家都推荐这种最佳实践,但在很多项目中,这条规则仍然被忽略了,许多类细节并没有被隐藏。 4. 类越小越好 具有多行代码类型应该被划分为一组较小类型。...只注释代码不能表达内容 鹦鹉学舌代码注释没有为读者提供任何额外东西。代码充斥着嘈杂注释和不正确注释,促使程序员忽略所有的注释,或者采取积极措施隐藏它们。 9....如何加强对这些最佳实践进行检查? CppDepend[3]提供了名为CQLinq[4]代码查询语言,可以像数据库一样查询代码库。

    96310

    C++】多态 ② ( 面向对象 “ 多态 “ 真正需求 | 面向对象 “ 多态 “ 实现 - virtual 修饰函数 | 代码示例 )

    一、多态实现 1、面向对象 " 多态 " 真正需求 在上一篇博客 【C++】多态 ① ( 类型兼容性原则与函数重写 | “ 多态 “ 引入 | 函数重写 ) , 进行了测试 , 在测试代码..., 这并不是我们想要 ; 上述测试 , 根据实际 对象类型 确定 重写函数 要调用 父类 还是 子类 函数 , 并不是我们期望 ; 多态 需求是 : 相同调用语句 , 有多种不通表现形态...指针 指向 父类 , 就调用父类函数 ; 指针 指向 子类 , 就调用 子类函数 ; 2、面向对象 " 多态 " 实现 - virtual 修饰函数 C++ 语言中 , 通过使用 virtual...关键字 修饰 函数 , 子类重写该函数时 , 可以不使用 virtual 关键字 ; 在开发时 , 建议 父类 和 子类 重载函数 都使用 virtual 关键字修饰 , 表示多态 , 这样能在开发者阅读代码时..., 更容易理解 此处要开始使用 多态机制了 ; 二、代码示例 - 多态实现 1、代码示例 在下面的代码 , 使用 virtual 关键字 修饰 父类 和 子类 函数 , 最终实现了 多态 ; 代码示例

    13820

    C++最佳实践 | 2. 代码风格

    本系列是开源书C++ Best Practises[1]中文版,全书从工具、代码风格、安全性、可维护性、可移植性、多线程、性能、正确性等角度全面介绍了现代C++项目的最佳实践。...本文是该系列第二篇。 C++最佳实践: 1. 工具 2. 代码风格(本文) 3. 安全性 4. 可维护性 5. 可移植性及多线程 6. 性能 7....正确性和脚本 代码风格 代码风格最重要是一致性,其次是遵循C++程序员习惯阅读风格。 C++允许任意长度标识符名称,因此在命名时没必要非要保持简洁,建议使用描述性名称,并在风格上保持一致。...使用nullptr C++11引入了nullptr表示空指针,应该用来代替0或NULL来指示空指针。 注释 注释应该使用//,而不是/* */,使用//可以更容易在调试时注释代码块。...相反,函数和类应该存在于适当命名命名空间中,或者存在于命名空间里放在全局命名空间中标识符有可能与来自其他库(主要是没有命名空间C库)标识符发生冲突。

    1.2K10

    如何避免自己写代码成为别人眼中一坨屎!

    笔者推荐三本经典书籍《代码整洁之道 》、《编写可读代码艺术》、《重构:改善既有代码设计》,下文重点将从注释、命名、方法、异常、单元测试等多个方面总结了一些代码整洁最佳实践,大部分是笔者总结于以上三本书中精华...,git可以干的事情不要交给代码; 源代码html注释是一种厌物, 增加阅读难度; 注释一定要描述离它最近代码注释一定要与代码对应; 公共api需要添加注释,其它代码谨慎使用注释; 典型注释...: 变量声明应该靠近其使用位置; 若某个函数调用了另外一个,应该把他们放在一起,而且调用者应该放在被调用者上面; 自上向下展示函数调用依赖顺序; 应该把解释条件意图函数抽离出来,尽可能将条件表达为肯定形式...Inversion Principle),类应该依赖于抽象而不是依赖于具体细节; 类方法越少越好,函数知道变量越少越好,类拥有的实体变量越少越好; 通过减少变量数量和让他们尽量“轻量级”来让代码更有可读性...明确定义并提供尽量少API; 减少重复代码,提高表达力,提早构建,简单抽象; 九、小结 本文从注释、命名、方法,单元测试,并发等视角简单给出了一些最佳实践,下文我们会展开来从每个方面介绍更多实践事例

    64070

    Spring Boot最佳实践

    这是来自于e4developer一篇微服务最佳实践: Spring Boot是用于开发微服务最流行Java框架。...(3)控制器应该处理应用程序HTTP层,Http相关信息不应该传递给服务。 (4)控制器应该围绕用例/业务能力。 要深入到这里,需要讨论设计REST API最佳实践。...从服务抽象出数据库逻辑,理想情况下,不要希望服务知道它正在与哪个数据库通信。有一些抽象可以封装对象持久性。...如果你抵制诱惑,你将保持你业务逻辑可重用。 部分服务通常成为库,如果你不必从代码删除大量Spring注释的话,那么代表你代码更容易创建。...由于存在Spring Boot最佳实践,因此应该考虑将Spring Cloud Contract用于你消费者驱动合同,它将使你与其他服务集成更容易使用。

    1.1K20

    如何避免自己写代码成为别人眼中一坨屎!

    笔者推荐三本经典书籍《代码整洁之道 》、《编写可读代码艺术》、《重构:改善既有代码设计》,下文重点将从注释、命名、方法、异常、单元测试等多个方面总结了一些代码整洁最佳实践,大部分是笔者总结于以上三本书中精华...,git可以干的事情不要交给代码; 源代码html注释是一种厌物, 增加阅读难度; 注释一定要描述离它最近代码注释一定要与代码对应; 公共api需要添加注释,其它代码谨慎使用注释; 典型注释...: 变量声明应该靠近其使用位置; 若某个函数调用了另外一个,应该把他们放在一起,而且调用者应该放在被调用者上面; 自上向下展示函数调用依赖顺序; 应该把解释条件意图函数抽离出来,尽可能将条件表达为肯定形式...Inversion Principle),类应该依赖于抽象而不是依赖于具体细节; 类方法越少越好,函数知道变量越少越好,类拥有的实体变量越少越好; 通过减少变量数量和让他们尽量“轻量级”来让代码更有可读性...明确定义并提供尽量少API; 减少重复代码,提高表达力,提早构建,简单抽象; 九、小结 本文从注释、命名、方法,单元测试,并发等视角简单给出了一些最佳实践,下文我们会展开来从每个方面介绍更多实践事例

    52920

    FreeRTOS编码规范和风格指南

    规范和指南是基于 FreeRTOS 最佳实践和行业标准,旨在提高代码质量和可靠性。...注释3.1 使用 C 风格注释(/* ... */)或 C++ 风格注释(// ...)。3.2 在代码中使用注释来解释代码意图和功能,而不是解释代码本身。...3.3 在函数头部使用注释来描述函数输入、输出和功能。3.4 在代码中使用注释来标记重要代码段或待办事项。4. 函数4.1 函数应该尽可能短小,只完成一个明确任务。...4.2 函数应该有明确输入和输出,以便于理解和测试。4.3 函数应该遵循单一职责原则,即一个函数只完成一个任务。4.4 函数应该避免使用全局变量,而应该使用参数和返回值来传递数据。5....错误处理5.1 函数应该返回错误代码或状态,以便于调用者处理错误。5.2 错误代码应该使用枚举类型或宏定义来定义,以便于理解和维护。

    90553

    AI编程助手工具,走过路过别错过

    FuncGPT(慧函数)AI生成器采用代码编写最佳实践及大规模机器联合训练方式,致力于通过AIGF(AI-Generated Function)赋能软件开发,为中国软件开发者提供全栈式全流程软件开发最佳体验...规范代码质量:由于FuncGPT(慧函数)经过代码编写最佳实践和大规模机器联合训练,生成函数代码质量高,符合行业规范,避免了常见代码错误和低效。3....普及最佳实践:FuncGPT(慧函数)生成代码遵循最佳实践,向开发者传授行业内优秀编码风格和设计模式,提升整体团队编码水平。...技术问答在对话框输入研发遇到问题,第一时间获得解答实时续写通过分析上下文逻辑关系,智能生成方法、函数、判断、循环体等完整代码注释生成代码直接在注释中用自然语言描述所需功能,自动生成完整函数生成函数注释与行间注释分析一个方法...、函数、类,生成符合规范文档注释,同时也可以识别函数复杂逻辑逐行增加注释生成单元测试支持对任意方法、函数一键生成单元测试,也支持对多文件进行批量生成代码优化支持对长函数代码进行优化代码修复识别代码潜在错误

    74430

    如何避免自己写代码成为别人眼中一坨屎!

    笔者推荐三本经典书籍《代码整洁之道 》、《编写可读代码艺术》、《重构:改善既有代码设计》,下文重点将从注释、命名、方法、异常、单元测试等多个方面总结了一些代码整洁最佳实践,大部分是笔者总结于以上三本书中精华...,git可以干的事情不要交给代码; 源代码html注释是一种厌物, 增加阅读难度; 注释一定要描述离它最近代码注释一定要与代码对应; 公共api需要添加注释,其它代码谨慎使用注释; 典型注释...: 变量声明应该靠近其使用位置; 若某个函数调用了另外一个,应该把他们放在一起,而且调用者应该放在被调用者上面; 自上向下展示函数调用依赖顺序; 应该把解释条件意图函数抽离出来,尽可能将条件表达为肯定形式...Inversion Principle),类应该依赖于抽象而不是依赖于具体细节; 类方法越少越好,函数知道变量越少越好,类拥有的实体变量越少越好; 通过减少变量数量和让他们尽量“轻量级”来让代码更有可读性...明确定义并提供尽量少API; 减少重复代码,提高表达力,提早构建,简单抽象; 九、小结 作为代码整洁之道系列第一篇,本文从注释、命名、方法,单元测试,并发等视角简单给出了一些最佳实践,下文我们会展开来从每个方面介绍更多实践事例

    71910

    作为程序员不得不看一篇文----Spring Boot最佳实践

    在本文中,我将重点介绍Spring Boot特有的实践(大多数时候,也适用于Spring项目)。 以下最佳实践未按特定顺序排列。...控制器应该处理应用程序HTTP层,Http相关信息不应该传递给服务。 控制器应该围绕用例/业务能力。 要深入到这里,需要讨论设计REST API最佳实践。...从服务抽象出数据库逻辑,理想情况下,不要希望服务知道它正在与哪个数据库通信。有一些抽象可以封装对象持久性。...如果你抵制诱惑,你将保持你业务逻辑可重用。 部分服务通常成为库,如果你不必从代码删除大量Spring注释的话,那么代表你代码更容易创建。...由于存在Spring Boot最佳实践,因此应该考虑将Spring Cloud Contract用于你消费者驱动合同,它将使你与其他服务集成更容易使用。

    92000

    【书单】世界顶级程序员推荐,CC++从入门到进阶

    还带老九C语言入门课源码课件~ C++:阶段一 《C++ PrimerPlus》 这本书对C++基本概念、技术、以及现代C++编程风格进行了全面而且权威阐述,是C++初学者最佳指南。...这本书专注于C++面向对象程序设计底层机制,包括结构式语意、临时性对象生成、封装、继承,以及虚拟——虚拟函数和虚拟继承,帮助我们理解程序底层实现,以便写出更高效代码。...本书焦点放在标准模板库、检查容器、迭代器、函数对象和STL算法上。 每一个元素都有深刻呈现,包括其介绍、设计、运用实例、细节解说、陷阱、意想不到危险,以及相关类别和函数等。...这是一本关于C++模板完整参考手册和教程,它强调模板使用实践,包含了现实世界例子,每个C++程序员都应该好好读一读这本书。 《Modern C++ design(现代C++设计)》 ?...《Thinking in C++C++编程思想)》 ? C++ 领域权威著作,介绍了C++实用编程技术和最佳实践方法。

    1.2K20

    如何编写高质量 JS 函数(2) -- 命名注释鲁棒篇

    forEachObjIndexed ,代码中看不出这个函数命名含义,只能从从源码里面的函数注释找答案。...const ADD = Symbol('add') [ADD](a, b) { console.log('a + b') } 八、总结 总结一下最佳实践: 多学习初中高中英语语法,开源项目中函数命名没有那么难理解...4、推导一下 try/catch 原理 js 在 node.js 提供运行时环境运行,node.js 是用 C++C++ 有自己异常处理机制,也是有 try/catch 。...即 js try/catch 底层实现是直接通过桥,调用 C++ try/catch 。 而 C++ try/catch 具有一些特性,如try/catch 只能捕捉当前线程异常。...这里我推荐一篇博客:《C++try、catch 异常处理机制》 ,有兴趣可以看看。

    1.4K20

    C Sharp(一)

    (在写 Objective-C 或者 Swift 时,是没有命名空间概念,所以官方给出最佳实践是使用前缀方式来区分不同类型。)...标识符 C# 中标识符规则: 字母和下划线可以出现在任意位置 数字可以放在除了首位任意位置 @字符只可以出现在首位,但不推荐 C# 语言标识符是大小写敏感,这一点跟 Objective-C,Swift...JavaScript 字符串插值: var a = 10; var b = 20; var str = $"a + b= {a + b}"; 注释 C# 允许三种注释: 单行注释 // 多行注释.../**/ 文档注释 /// 类型,存储和变量 ---- 如果要描述程序代码特征的话,我们可以说 C 程序就是一组函数和数据类型,C++ 程序就是一组函数和类,而 C# 则是一组类型声明。...值类型和引用类型 对于非成员数据存储(如函数局部变量): 值类型存储于栈内存 引用类型 数据部分 存储于堆内存,引用部分 存放在栈内存 对于成员数据,存储有些不同: 引用类型 数据部分 始终存放在堆内存

    1.6K30

    C++】泛型编程 ⑪ ( 类模板运算符重载 - 函数实现 写在类外部不同 .h 头文件和 .cpp 代码 )

    函数声明 和 实现 写在相同 .cpp 源码文件 ; 类模板 函数实现 在 类外部进行 , 函数声明 和 实现 写在不同 .h 和 .cpp 源码文件 ; 在博客 【C++】泛型编程 ⑨ (...; 在博客 【C++】泛型编程 ⑩ ( 类模板运算符重载 - 函数实现 写在类外部同一个 cpp 代码 | 类模板 外部友元函数二次编译问题 ) , 分析了 第二种情况 , 类模板 ...; 一、类模板运算符重载 - 函数实现 写在类外部不同 .h 头文件和 .cpp 代码 1、分离代码 友元函数报错信息 - 错误示例 上一篇博客 【C++】泛型编程 ⑩ ( 类模板运算符重载...- 函数实现 写在类外部同一个 cpp 代码 | 类模板 外部友元函数二次编译问题 ) , 分析了 第二种情况 , 类模板 函数实现 在 类外部进行 , 写在 一个 cpp 源码文件...、代码示例 - 函数实现 写在类外部不同 .h 头文件和 .cpp 代码 1、完整代码示例 Student.h 头文件内容 Student.h 头文件内容 : #include "iostream

    22110

    C语言 | 如何学习

    Dev-C++:Windows 环境下一个轻量级 C语言/C++ 集成开发环境(IDE),遵守GPL许可协议分发源代码。...上机实践,通过大量例题学习怎么设计算法,培养解题思路。 养成良好编码习惯,注释一定要写,要不然保你一周后自己写代码都不认识了。...函数体,包括声明部分和执行部分 函数总是从main函数开始 不管main函数在整个程序位置如何,main函数可以放在程序开头,也可以放在程序结尾,或在一些函数之前,另一些函数之后。...程序对计算机操作是由函数C语句完成 如赋值,输入输出数据操作都是由相应C语句实现。 在每个数据声明 和语句最后必须有一个分号 分号是C语句必要组成部分。...C语言本身不提供输入输出语句 输入和输出操作是由库函数scanf和printf函数来完成。 程序应当包含注释 一个好、有使用价值源程序都应当加上必要注释,增加程序可读性。

    4.4K52

    C++注释风格建议

    1.注释风格(Comment Style) C++注释有两种形式,使用C风格/**/或C++风格//都可以,项目中统一就好。但是毕竟是C++项目,建议还是使用C++风格//。...如果类声明和定义分开了(例如分别放在了 .h 和 .cc 文件),此时,描述类用法注释应当和接口定义放在一起(.h文件),描述类操作和实现注释应当和实现放在一起(.cc文件)。.... bool IsTableFull(); 注释函数重载时,注释重点应该函数中被重载部分,而不是简单重复被重载函数注释。...弃用注释应当包涵简短而清晰指引,以帮助其他人修复其调用点。在 C++ ,你可以将一个弃用函数改造成一个内联函数,这一函数将调用新接口。...实际上,开发者应该尽可能地让代码如果本身具有可读性,能够自成文档,达到代码注释效果,而让注释成为“锦上添花”作用。

    5.2K11

    Github开源免费编程书籍

    Redis 命令参考 Redis 设计与实现 The Little MongoDB Book The Little Redis Book 带有详细注释 Redis 2.6 代码 带有详细注释 Redis...20 项须知 前端代码规范 及 最佳实践 前端开发体系建设日记 前端资源分享(一) 前端资源分享(二) 正则表达式30分钟入门教程 浏览器开发工具秘密 移动Web前端知识库 移动前端开发收藏夹 WEB...入门 程序员杂谈 程序员自我修养 管理和监控 ElasticSearch 权威指南 Elasticsearch 权威指南(中文版) ELKstack 中文指南 Logstash 最佳实践 Mastering...C/C++ Primer - @andycai C++ FAQ LITE(中文版) C++ Primer 5th Answers C++ Template 进阶指南 C++ 基础教程 C++ 并发编程...(基于C++11) C++ 并发编程指南 CGDB中文手册 Cmake 实践 (PDF版) GNU make 指南 Google C++ 风格指南 QT 教程 ZMQ 指南 像计算机科学家一样思考(C+

    7.7K40
    领券