База ответов ИНТУИТ

Программирование

<<- Назад к вопросам

Эквивалентны ли в языке C/C++ типы Callback и Action,заданные в приведенном ниже фрагменте программы?
typedef void (*Callback)(char *);typedef void (*Action)(void *);

(Отметьте один правильный вариант ответа.)

Варианты ответа
Эквивалентны.
Не эквивалентны. (Верный ответ)
Похожие вопросы
Эквивалентны ли в языке C/C++ типы PntActи VectAct,заданные в приведенном ниже фрагменте программы?
typedef double R3Point[3];typedef double R3Vector[3];typedef void (*PntAct)(R3Point);typedef void (*VectAct)(R3Vector);
Эквивалентны ли в языке C/C++ типы Matrix и Transform,заданные в приведенном ниже фрагменте программы?
typedef double Matrix[3][3];typedef double Transform[3][3];
Пусть процессор имеет 32-разрядную архитектуру.Рассмотрим функцию f(x, y) языка C/C++ соследующим прототипом:
void f(int x, int y);
Чему равен адрес второго фактического аргументаy функции f относительно регистраFP (Frame Pointer - указатель кадра) во время выполнениятела функции?
Рассмотрим реализацию матрицы вещественных чисел,размеры которой определяютсяв процессе работы программы, через массив указателей на началастрок, захватываемый в динамической памяти. Каждая строкатакже представляет собой отдельный массив вдинамической памяти:
    typedef double* doubleptr;    int m, n; // Размеры матрицы: число строк, столбцов    . . .    doubleptr* a = new doubleptr[m];    for (int i = 0; i < m; ++i) {        a[i] = new double[n];    }    // a[i][j] -- элемент i-й строки и j-го столбца
Сколько обращений к памяти необходимо сделать,чтобы прочесть элемент матрицы вi-й строке и j-м столбце(считая, что значения i и jуже находятся в регистрах процессора)?
Пусть дан массив a длины n,элементы которого нестрого возрастают, т.е. соседниеэлементы могут быть равными.Рассмотрим фрагмент программы бинарного поискаэлемента x в массивеa длины n, гдепосле отбрасывания особых ситуаций рассматриваетсяосновной случай:
        . . .        // Утверждение: a[0] < x && x <= a[n-1]        int beg = 0; int end = n-1;        while (end-beg > 1) {            // Инвариант: a[beg] < x && x <= a[end]            int c = (beg + end) / 2;            if (a[c] < x) {                beg = c;            } else {                end = c;            }        }        *idx = end;        . . .
Пусть значение x содержится в массивев нескольких экземплярах. Индекс какого элементамассива a будет записан в переменную *idx?
Пусть дан массив a длины n,элементы которого нестрого возрастают, т.е. соседниеэлементы могут быть равными.Рассмотрим фрагмент программы бинарного поискаэлемента x в массивеa длины n, гдепосле отбрасывания особых ситуаций рассматриваетсяосновной случай:
        . . .        // Утверждение: a[0] <= x && x < a[n-1]        int beg = 0; int end = n-1;        while (end-beg > 1) {            // Инвариант: a[beg] <= x && x < a[end]            int c = (beg + end) / 2;            if (a[c] <= x) {                beg = c;            } else {                end = c;            }        }        if (a[beg] == x) {            *idx = beg;        } else  {            *idx = end;        }        . . .
Пусть значение x содержится в массивев нескольких экземплярах. Индекс какого элементамассива a будет записан в переменную *idx?
Рассмотрим реализацию матрицы вещественных чиселразмера m строк на n столбцовпри помощи линейного массива,в котором хранятся сначала элементы нулевой строки матрицы,затем первой и т.д., в конце - элементы (m-1)-й строки:
    int m, n; // Размеры матрицы: число строк, столбцов    . . .    double* a = new double[m*n];    // a[i*n + j] -- элемент i-й строки и j-го столбца
Пусть функция с прототипом
void transp(double* a, int m, int n);
реализует транспонированиематрицы, при выполнении которого строки матрицы становятсястолбцами, столбцы - строками, а матрица размераm на nпревращается в матрицу размераn на mПусть эта функция применяется к прямоугольной матрице,содержащей 3 строки и 5 столбцов, элементы которой хранятсяв линейном массиве a. Сколько элементов массиваa при этом останутся на своем месте?
Рассмотрим реализацию матрицы вещественных чиселразмера m строк на n столбцовпри помощи линейного массива,в котором хранятся сначала элементы нулевой строки матрицы,затем первой, второй и т.д., в конце - элементы (m-1)-й строки:
    int m, n; // Размеры матрицы: число строк, столбцов    . . .    double* a = new double[m*n];    // a[i*n + j] -- элемент i-й строки и j-го столбца
Пусть функция с прототипом
void transp(double* a, int m, int n);
реализует транспонированиематрицы, при выполнении которого строки матрицы становятсястолбцами, столбцы - строками, а матрица размераm на nпревращается в матрицу размераn на mПусть эта функция применяется к прямоугольной матрице,содержащей 2 строки и 4 столбца, элементы которой хранятсяв линейном массиве a Сколько элементов массиваa при этом останутся на своем месте?
Назовем функцию y = f(p) на последовательности p элементов некоторого типа индуктивной, если при добавлении в конецпоследовательности pеще одного элемента x новое значение функцииy1 = f(p&x) можно вычислить, зная толькостарое значение y и добавленный элемент x.Среди перечисленных ниже функций на последовательностях вещественныхчисел укажите индуктивные.
Назовем функцию y = f(p) на последовательности p элементов некоторого типа индуктивной, если при добавлении в конецпоследовательности pеще одного элемента x новое значение функцииy1 = f(p&x) можно вычислить, зная толькостарое значение y и добавленный элемент x.Среди перечисленных ниже функций на последовательностях вещественныхчисел укажите индуктивные.