int main(int, char**) 和 int main(int argc, char **argv) 有什么区

  • 本文关键字:int char main 么区 argc argv visual-c++
  • 更新时间 :
  • 英文 :


我有一个我的主要定义如下

int main (int, char **)
{
    // my code goes here
}

在这里,我如何获得传递的参数?

如果如下所示

int main (int argc, char **argv)
{    
     // my code goes here    
     // Here I can get list of arguments using argv 
}

但是我不知道如何获取第一种情况的输入参数。

两者都是相同的main函数。唯一的区别是,在第一种情况下,参数没有被赋予变量名称,因此您不能使用它们。这是一种有用的模式,可以摆脱未使用变量的编译器警告。如果您的程序不计算 argc 和 argv,您的编译器可能会抱怨您不使用它们。删除参数名称时,编译器不会抱怨。当然,如果要访问参数,则必须编写名称。

当然,如果您不需要参数,也可以将其删除。但是main(由标准定义(是一个很好的函数示例,您不想删除参数。另一个示例是 virtual 函数,其中覆盖可能不需要所有参数。

最新更新