argc atoi argv,Opencv,C ++

时间:2012-11-23 09:34:14

标签: c++ opencv

你能解释一下这是什么意思吗?

 argc >= 3 ? atoi(argv[2]) : 40;

第二个问题:确实存在函数的libarries - 必要的参数,结构类似

 CVAPI(void)  cvAddS( const CvArr* src, CvScalar value, CvArr* dst,
                 const CvArr* mask CV_DEFAULT(NULL));

2 个答案:

答案 0 :(得分:1)

argc >= 3 ? atoi(argv[2]) : 40;

表示“如果argc大于或等于三返回argv[2]转换为整数,否则返回40。”返回“在前一个语句中有点误导。实际上表达式解析为一个事情或其他,取决于条件。

condition ? true_expr : false_expr

按照惯例,argc具有传递给main的参数数量,argv是包含这些参数的数组。 argv[0]是可执行文件本身的名称,因此argv[1] woudl是可执行文件名后面的第一个命令行参数。

答案 1 :(得分:1)

第一个片段使用ternary operator来检查是否存在至少两个参数(第一个是程序名,因此条件中为3)如果是,则表达式返回第二个参数的值为整数(atoi将字符串转换为整数),否则表达式返回值40

相关问题