R.6.8 Разрешение неоднозначности
R.6.8 Разрешение неоднозначности
Существует неоднозначность в грамматике языка, касающаяся оператора-выражения и описания, а именно, оператор-выражение, содержащий как самое левое подвыражение явное преобразование типа, заданное в функциональном стиле (§R.5.2.3), может быть не отличим от описания, в котором первый описатель начинается со (. В таких случаях оператор считается описанием.
Для разрешения неоднозначности следует исследовать весь оператор, чтобы определить является он оператором-выражением или описанием. Так устраняется неоднозначность во многих случаях. Например, пусть T - имя-простого-типа (§R.7.1.6), тогда имеем
T(a)-›m = 7; // оператор-выражение
T(a)++; // оператор-выражение
T(a,5) ‹‹ c; // оператор-выражение
T(*e)(int); // описание
T(f)[]; // описание
T(g) = { 1, 2 }; // описание
T(*d)(double(3)); // описание
Остальные случаи представляют описания. Например,
T(a); // описание
T(*b)(); // описание
T(c)=7; // описание
T(d),e,f=3; // описание
T(g)(h,2); // описание
Неоднозначность здесь чисто синтаксическая, т.е. на ее разрешение не влияет тот факт, является ли имя именем-типа или нет.
Есть другой вид коллизии между оператором-выражением и описанием, который разрешается требованием, чтобы описание функции в блоке (§R.6.3) сопровождалось именем-типа, например:
void g()
{
int f(); // описание
int a; // описание
f(); // оператор-выражение
a; // оператор-выражение
}
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Разрешение кэширования
Разрешение кэширования При запрете кэширования мы заставим браузер каждый раз заново загружать документы и ресурсные файлы. В последнем случае это совсем не оптимально и может привести к заметному замедлению работы с сайтом. Давайте рассмотрим, как можно выставить срок
6.1. Разрешение экрана
6.1. Разрешение экрана Если не знаете, что такое разрешение экрана и зачем оно вообще нужно, то в данном разделе мы проведем теоретическую подготовку.Под разрешением экрана следует понимать то количество точек по горизонтали и вертикали, с помощью которых формируется
§ 69. Разрешение картинок
§ 69. Разрешение картинок 16 июня 2001Попробуем разобраться в одном из самых больших заблуждений человечества за всю историю существования экранной графики.Дело в том, что у электронного изображения вообще нет разрешения. Разрешение (точнее, разрешающая способность) может
§ 132. Низкое разрешение
§ 132. Низкое разрешение 28 мая 2006Применительно к человеку понятие разрешение может означать способность различать стили, объекты, здания, цвета, шрифты, голоса и так далее.Любое образование ставит целью повысить разрешение в выбранной области. Художники долго рисуют
R.8.1.1 Устранение неоднозначности
R.8.1.1 Устранение неоднозначности Неоднозначность, отмеченная в §R.6.8, которая возникает из-за сходства между приведением, заданным в функциональном стиле, и описанием, может также появиться в контексте описания. В этом контексте она проявляется как сходство между
Разрешение
Разрешение Величина под названием «разрешение» является «связующим звеном» между логическим и физическим размером. Она определяет соотношение между ними и позволяет судить о качестве изображения.Измеряя разрешение, мы фактически измеряем размер одного пиксела.
Разрешение конфликтов имен
Разрешение конфликтов имен Явная реализаций интерфейса может оказаться очень полезной тогда, когда реализуются несколько интерфейсов, содержащих идентичные члены, Предположим. например, что вы создали класс, реализующий следующие новые типы интерфейса.// Три
15.12. Разрешение перегрузки и операторы A
15.12. Разрешение перегрузки и операторы A В классах могут быть объявлены перегруженные операторы и конвертеры. Предположим, при инициализации встретился оператор сложения:SomeClass sc;int iobj = sc + 3;Как компилятор решает, что следует сделать: вызвать перегруженный оператор для
19.3. Разрешение перегрузки и наследование A
19.3. Разрешение перегрузки и наследование A * Наследование классов оказывает влияние на все аспекты разрешения перегрузки функций (см. раздел 9.2). Напомним, что эта процедура состоит из трех шагов: Отбор функций-кандидатов.* Отбор устоявших функций.* Выбор наилучшей из
6.3.3 Неоднозначности
6.3.3 Неоднозначности Присваивание объекту (или инициализация объекта) класса X является допустимым, если или присваиваемое значение является X, или существует единственное преобразование присваивемого значения в тип X. В некоторых случаях значение нужного типа может быть
Как настроить разрешение экрана?
Как настроить разрешение экрана? Изображение на экране состоит из отдельных точек (пикселов). Разрешением экрана называют число этих точек по горизонтали и вертикали. Как правило, матрица нетбука рассчитана на разрешение 1366 на 768 точек, и при таком разрешении качество
Разрешение матрицы
Разрешение матрицы Мы знаем, что матрица состоит из мельчайших светочувствительных элементов. Количество таких элементов в матрице – это и есть ее разрешение. Разрешение матрицы получают умножением количества элементов по горизонтали и вертикали. Самые