argc atoi argv, Opencv, переполнение стека

Вы можете объяснить, что это значит?

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

И второй вопрос: существуют ли библиотеки функций — параметров, которые необходимы, структурировать что-то вроде этого

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

-5

Решение

Первый фрагмент использует троичный оператор для проверки есть как минимум два аргумента (первый — это имя программы, поэтому 3 в условии), и если это так, то выражение возвращает значение второго аргумента в виде целого числа (atoi преобразует строку в целое число), иначе выражение возвращает значение 40,

1

Другие решения

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

означает «если argc больше или равно трем возвращаемым argv[2] конвертируется в целое число, иначе возвращает 40, «return» в предыдущем выражении немного вводит в заблуждение. На самом деле выражение разрешается в одно или другое, в зависимости от условия.

condition ? true_expr : false_expr

Условно, argc имеет количество параметров, переданных в main, и argv это массив, содержащий эти параметры. argv[0] это имя самого исполняемого файла, так argv[1] будет первым параметром командной строки после имени исполняемого файла.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector