【发布时间】:2026-01-17 15:20:04
【问题描述】:
我已阅读 the libc reference 中的 int main (int argc, char *argv[]),以及 current working standard of the C++ ISO documentation 中的第 3.6.1 节“主要功能”。我还阅读了一堆关于参考的内容。我知道它们不能被重新分配,它们必须只有一层深,等等。
也就是说,为什么标准的int main (int argc, char *argv[]) 而不是int main (int argc, char * &argv) 是一个“数组”/数据块来保存对参数的引用?
我的意思是为什么有一个不属于程序的数组(char **argv),并且可以在运行时更改/移动,而不是根据其定义在没有程序的情况下无法修改的内存同意和适当的处理(例如通过信号)?我错过了什么?
【问题讨论】:
-
char * &argv将引用单个字符数组,而不是所有参数。
标签: c++ parameter-passing main