博客
关于我
C语言/C++ main函数参数argc和argv不是const的原因
阅读量:594 次
发布时间:2019-03-09

本文共 358 字,大约阅读时间需要 1 分钟。

 翻译自:

int main(int argc, char *argv[])

如 Item#3指出"应尽可能使用const",为何不将argc和argv默认设为const?在何种情景下argc会被修改?

对此问题的回答是:

该问题有历史因素。C将这些参数定义为"非常量"以兼容现有的C代码。诸如getopt等的UNIX API会修改argv[],所以不能被设为const。有趣的是,getopt的原型表明它不会修改argv[]本身,而可能修改其指向的地址:.。

给argc和argv加上const不会获得什么益处,而且这会使得一些老旧的编程练习失效:

// print out all the arguments:while (--argc)    std::cout << *++argv << std::endl;

 

转载地址:http://wshpz.baihongyu.com/

你可能感兴趣的文章
NodeJS报错 Fatal error: ENOSPC: System limit for number of file watchers reached, watch ‘...path...‘
查看>>
nodejs支持ssi实现include shtml页面
查看>>
Nodejs教程09:实现一个带接口请求的简单服务器
查看>>
nodejs服务端实现post请求
查看>>
nodejs框架,原理,组件,核心,跟npm和vue的关系
查看>>
Nodejs概览: 思维导图、核心技术、应用场景
查看>>
nodejs模块——fs模块
查看>>
Nodejs模块、自定义模块、CommonJs的概念和使用
查看>>
nodejs生成多层目录和生成文件的通用方法
查看>>
nodejs端口被占用原因及解决方案
查看>>
Nodejs简介以及Windows上安装Nodejs
查看>>
nodejs系列之express
查看>>
nodejs系列之Koa2
查看>>
Nodejs连接mysql
查看>>
nodejs连接mysql
查看>>
NodeJs连接Oracle数据库
查看>>
nodejs配置express服务器,运行自动打开浏览器
查看>>
NodeMCU教程 http请求获取Json中文乱码解决方案
查看>>
Nodemon 深入解析与使用
查看>>
NodeSession:高效且灵活的Node.js会话管理工具
查看>>