C++ 如果不需要参数,是否应该使用argc和argv?

C++ 如果不需要参数,是否应该使用argc和argv?,c++,C++,当程序不需要参数时,使用argc和argv有什么缺点吗?程序的性能是否会比没有定义的更差,或者argc和argv是否已经隐式定义?基本上,我理解如果参数不是必需的,那么这些参数不必包含在主函数中,但是包含它们而不使用它们有什么缺点吗?标准(至少对于c++17)似乎在这个主题上是中立的:。它只是说C++编译器“允许” int main()和 int main(int,char **)< /c> < /p> 因此,您得到的任何答案都将是一个意见:) 为了我的钱,我会把它们放在外面直到你需要它们。另一

当程序不需要参数时,使用argc和argv有什么缺点吗?程序的性能是否会比没有定义的更差,或者argc和argv是否已经隐式定义?基本上,我理解如果参数不是必需的,那么这些参数不必包含在主函数中,但是包含它们而不使用它们有什么缺点吗?

标准(至少对于c++17)似乎在这个主题上是中立的:。它只是说C++编译器“允许”<代码> int main()<代码>和<代码> int main(int,char **)< /c> < /p> 因此,您得到的任何答案都将是一个意见:)

为了我的钱,我会把它们放在外面直到你需要它们。另一位作者浏览了一下您的方法签名,就会立即知道该方法不带任何参数


编辑:对于您的性能问题:编译器可以自由地以任何方式实现规范。我无法想象编译器会因为您指定的使用(未使用的参数)而受到性能损失。可以肯定的是,您可以反汇编正在使用的编译器的输出。或者您甚至可以将它们与diff进行比较,它们可能是完全相同的字节

不管怎样,你怎么用呢?(请注意,一般来说,重新调整参数的用途是不好的做法)。根据编译器和编译标志的不同,如果声明它们但不使用它们,则会收到警告。这是唯一的区别。另请参见: