Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Квалификатор типа (англ. type qualifier) — одно из зарезервированных слов const, volatile или restrict в языках программирования семейства Си.

Синтаксис

Квалификаторы типов используются в нескольких синтаксических контекстах:

  • в составе последовательности спецификаторов объявления: применяются к объявляемому типу. Например:
const int *p;  /* const применяется к типу указываемого объекта */
  • при определении указателя: применяются к соответствующему указательному типу. Например:
int *restrict p;  /* restrict применяется к типу указателя p */
  • в объявлении функции-члена в Си++: применяются к соответствующему типу функции. Например:
class C  {
public:
    int f() const;  /* const-квалифицированная функция-член */
};

Семантика

Квалификаторы типа применяются к типам l-выражений (в Си и Си++) и r-выражений классовых типов (в Си++), влияя на семантику доступа к объектам, на которые ссылаются эти выражения:

  • const-квалифицированный тип l-выражения, а также const-квалифицированные поля структур и объединений в Си и данные-члены классовых типов в Си++, являющихся типами l-выражений указывают на то, что такое l-выражение не является модифицируемым l-выражением, и значит объект, на который оно ссылается не может быть модифицирован через это l-выражение операциями инкремента, декремента, присваивания или вызовом не-const-квалифицированной функции-члена. Например:
void f(const int *p)
{
    *p = 0;  /* ОШИБКА: *p является немодифицируемым l-выражением типа const int */
}
  • квалификация (CV-квалификация) функций-членов в Си++ означает, что левая часть операции доступа к функции-члену в операции вызова функции-члена должна иметь (в случае доступа с помощью операции .) или указывать на (в случае доступа с помощью операции ->) объектный тип, имеющий не бо́льшую квалификацию. Например:
class C  {
public:
    C();
    int f() const;
    int g();
};

void f()
{
    const C c;
    c.f();  /* OK: квалификации c и C::f() совпадают */
    c.g();  /* ОШИБКА: квалификации c не достаточно для вызова C::g() */
}
  • restrict-квалификация указателей в C99 означает, что указатели указывают на данные, которые не пересекаются в памяти (см. пересекающиеся объекты). Эта информация позволяет компилятору безопасно применять некоторые специальные виды оптимизаций. Например, прототипы стандартных функций memcpy и memmove, определенные в C99 отличаются:
#include <string.h>

void *memcpy(void * restrict s1,  /* копируемые области не должны пересекаться */
    const void * restrict s2, size_t n);

void *memmove(void *s1,  /* копируемые области могут пересекаться */
  const void *s2, size_t n);
  • ключевое слово volatile указывает на то, что объявленная таким образом переменная может измениться независимо от действий программы. Смысл использования квалификатора заключается в том, что компиляторы могут оптимизировать код, использующий переменную без учёта возможности её изменения в силу внешних условий.

См. также

Эта страница в последний раз была отредактирована 16 октября 2021 в 14:13.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).