main中的非便携式const

问题描述

正在使用main函数,其形式为:

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

非便携式和非标准? C ++标准说argv是“ 指向char的指针的指针”。我更喜欢使用单词const来防止在我不知道的内存区域中进行修改和越界。

这种形式是错误的且不可移植吗?

解决方法

您的版本确实不可移植。

标准允许的变体是

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

该标准允许实现定义的可能性,因此在某些平台上可能允许const。但是,如果实现中没有定义这种替代方法,则程序的行为是不确定的。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...