A.5 typedef и const

Предыдущая  Содержание  Следующая V*D*V

typedef не определяет макросы. const можеь быть связан неожиданными способами в контекст typedef:

 

const struct Class { ... } * p;   защищает содержимое структуры

typedef struct Class { ... } * ClassP;

const ClassP cp;                  содержимое открыто, указатель защищён

 

Как можно было бы защитить и передать элементы матрицы остаётся загадкой:

 

main () {

    typedef int matrix [10][20];

    matrix a;

    int b [10][20];

 

    int f (const matrix);

    int g (const int [10][20]);

 

    f(a);

    f(b);

    g(a);

    g(b);

}

 

Есть компиляторы, которые разрешают не все подобные вызовы ...

 

Предыдущая  Содержание  Следующая