社区
C++ 语言
帖子详情
对于无参函数声明/定义 的两种写法 int f(); 和 int f(void); 哪种是C++标准推荐的写法?? 哪种是移植性最好的写法?
chaolajiao
2005-11-09 04:37:26
rt
...全文
281
9
打赏
收藏
对于无参函数声明/定义 的两种写法 int f(); 和 int f(void); 哪种是C++标准推荐的写法?? 哪种是移植性最好的写法?
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zwjchina
2005-11-10
打赏
举报
回复
int f(void)无论在C,C++都表示不接受参数
int f()在C++中表示不接受参数 在C中表示可以接受不定数量的参数
binbin
2005-11-10
打赏
举报
回复
C++中都是可以的,形成固定风格后就无所谓了,不同企业有不同的规范吧.就象函数和类定义的起始{号,很多大牛都是放在上一行行末,但很多企业规范规定放在下一行行首.
在C中,参数void表示没有参数,而什么都不填就是编译器不检查参数个数,调用时就可以输入多个参数,后果自负,呵呵.
K
2005-11-10
打赏
举报
回复
int f(void)
beijibingshan
2005-11-09
打赏
举报
回复
写错了
不好意思
c++:int f(void) 比较好
int f() 也行
c: 只能是int f(void)
beijibingshan
2005-11-09
打赏
举报
回复
c++:int f(void) 比较好
int f() 也行
c: 只能是int f()
tdrhsb
2005-11-09
打赏
举报
回复
c++的标准是加上void的!
fiftymetre
2005-11-09
打赏
举报
回复
一般都要求加上void的,但效果是一样的
sankt
2005-11-09
打赏
举报
回复
int f(void)看起来更加清晰,其实就是一样的
megaboy
2005-11-09
打赏
举报
回复
int f(void)是推荐的写法,应该用void明确指出没有参数。
C/
C++
头文件机制详解:从声明
定义
分离到编译链接优化
在C/
C++
编程中,头文件是实现模块化编程和代码复用的核心机制。其本质是声明与
定义
的分离:头文件存放函数、类、变量的声明,作为接口说明书;源文件存放具体实现
定义
。这一设计遵循了C/
C++
的编译链接模型,每个源文件作为独立编译单元被处理,编译器只需声明信息进行语法检查,链接器再将各单元的
定义
合并。这种分离机制的价值在于提升代码的模块化、可维护性和编译效率。在实际工程中,头文件管理直接影响项目的健壮性,涉及包含守卫防止重复包含、前向声明减少依赖、合理使用内联与模板等关键实践。本文聚焦头文件的核心机制与常见陷阱,
CodeWarrior编译器预
定义
宏与Pragma指令实战指南
在嵌入式C/
C++
开发中,编译器优化与代码控制是提升性能与可靠性的核心技术。通过预
定义
宏,开发者可以在编译时获取环境信息,如编译器版本、优化级别和目标架构,实现精准的条件编译。Pragma指令则提供了对编译器行为的精细调控,例如控制优化策略、语言
标准
符合性及异常处理。这些机制共同构成了嵌入式开发中平衡性能、代码大小与可
移植性
的关键手段。本文聚焦于CodeWarrior for Power Architecture编译器,深入解析其特有的预
定义
宏(如__optlevel、__ALTIVEC__)和Pragma
Nim与C/
C++
互操作指南:从基础类型映射到CMake集成实战
在软件开发中,外部函数接口(FFI)是实现不同编程语言间互操作的核心技术,它允许一种语言调用另一种语言编写的库函数。其原理是通过
定义
统一的二进制接口和类型映射规则,在运行时或编译时进行函数调用和数据转换。这项技术的价值在于能够复用经过验证的成熟生态库,避免重复造轮子,显著提升开发效率和系统性能。在图像处理、数值计算、系统编程等场景中,调用C/
C++
高性能库是常见需求。本文以Nim语言为例,深入解析其通过`importc`编译指示实现与C/
C++
无缝互操作的机制,涵盖从基础类型映射、结构体对齐到封装
C++
类与
C++
动态链接库(DLL)开发实战:从原理到避坑指南
动态链接库(DLL)是Windows平台上实现代码模块化与复用的核心技术。其原理在于将功能模块编译为独立文件,在程序运行时动态加载,这与静态链接库在编译期即打包所有代码的方式形成鲜明对比。DLL的技术价值在于实现模块化更新、节省内存与磁盘空间,并为插件化架构奠定基础,广泛应用于桌面软件、游戏引擎及系统工具等场景。在
C++
开发中,DLL的接口设计尤为关键,采用C风格接口而非
C++
类能有效保障二进制兼容性,避免因编译器差异或内存管理不一致导致的崩溃。本文以创建数学计算DLL为例,详解了从项目配置、隐式/显式链接
C++
命令行参数解析:从argc/argv基础到实战应用
命令行参数是程序与操作系统及用户交互的基础机制,它允许程序在启动时接收外部输入,从而实现灵活配置和自动化。其核心原理在于操作系统将命令行字符串解析为参数数组,并通过main函数的argc(参数计数)和argv(参数向量)传递给程序。掌握这一机制对于构建可脚本化、支持多种工作模式的工具至关重要,是提升程序通用性和工程实践能力的关键。在C/
C++
中,正确处理参数转换、内存安全及跨平台编码问题,能有效避免段错误和乱码等常见陷阱。本文通过文件处理工具等应用场景,深入探讨了从基础解析到使用cxxopts等专业库的进阶
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章