Смекни!
smekni.com

Справочник по Visual С++ (стр. 2 из 2)

Операция Описание Пример
Sizeof Позволяет получить размер (в байтах) операнда, стоящего справа. Операндом может быть обозначение типа, заключенное в круглые скобки, либо имя конкретной переменной (как базового, так и сложного типа) sizeof (double) /* если structName - имя структуры, то следующий оператор возвратит ее размер */ sizeof structName
(type) Операция приведения типа преобразует следующее за ней значение в тип, определенный ключевым словом (или словами), заключенным в круглые скобки /* следующая операция преобразует целое число 7 в число с плавающей точкой 7.0 */ (float)7
?: Операция условия имеет три операнда, каждый из которых является выражением, расположенным следующим образом: выражение 1 ? выражение2: выражение З Результат равен значению выражение 2, если выражение 1 истинно и значению выражение З, в противном случае. /* Результат операции равен большему из двух чисел а и б */ (а >b) ? а: b
, (запятая) Операция "запятая" связывает два выражения в одно и гарантирует, что левое выражение будет вычислено первым /* Наиболее часто используется в цикле for * / for(i=0, nStep=2; niter < 10; i+=nStep); { // тело цикла }

Приоритет выполнения операции

Операции (от высшего приоритета к низшему) Порядок выполнения
( ) { } - > . (точка) слева направо
! ~ ++ -- - (тип) * & sizeof (все унарные) справа налево
* / % слева направо
+ - ---- “-----
<< >> ---- “-----
< <= > >= ---- “-----
== != ---- “-----
& ---- “-----
^ ---- “-----
| ---- “-----
&& ---- “-----
|| ---- “-----
?: ---- “-----
= += -= *= /= %= справа налево
, (запятая) Слева направо

Предопределенные макросы

Макрос Комментарий
_date_ Дата компиляции текущего исходного файла, представленная в виде строковой константы в формате Mmm dd yyyy (месяц день год)
_file_ Строковая константа, являющаяся именем текущего исходного файла
_line_ Десятичная целая константа, представляющая текущий номер строки исходного текста
_stdc_ Равенство 1 показывает полную совместимость со стандартом ANSI С; в противном случае не определен
_TIME_ Строковая константа, представляющая время начала обработки текущего исходного файла в формате hh:mm:ss (часы:минуты:секунды)
_timestamp_ Строковая константа, представляющая дату и время последней. Модификации текущего исходного файла в формате Ddd Mmm Date hh:mm:ss yyyy (аббревиатура дня недели месяц число часы: минуты: секунды год)

Венгерская нотация

Префикс Имя
a Array (Массив)
с Character (Символ)
d Date (Данные)
dbl Double (Двойной)
dc Device Context (Контекст устройства)
dw Double Word (Двойное слово)
f Flag, Boolean or Logical (Флаг, Булевское или Логическое)
h Handle (Дескриптор)
i Integer (Целое)
inst Instance (Экземпляр, Копия)
I Long (Длинное)
li Long Integer (Длинное целое)
Ip Long Pointer (Дальний указатель)
msg Message (Сообщение)
n Numeric (Цифровое)
о Object (Объект)
pal Palette (Палитра)
psz Pointer to a Zero Terminated String (Указатель на строку с завершаю­щим нулем)
ptr Pointer (Указатель (или Р, когда использован с другими переменными, подобными psz))
r Real (Действительное, Вещественное)
гс Rectangle (Прямоугольник)
rgb Red, Green, Blue (Переменная цвета)
rsrc Resource (Ресурс)
sgl Single (Единственное)
si Short Integer (Короткое целое)
sz Zero Terminated String (Строка с завершающим нулем)
u Unsigned (Без знаковое)
ui Unsigned Integer or Byte (Без знаковое целое или Байт)
w Word (Слово)
wnd Window (Окно)

Директивы препроцессора

Директива Комментарий
define идентификатор #define идентификатор текст #define идентификатор (список, параметров) текст Используется для замены часто используемых в программе констант, ключевых слов, операторов и выражений содержательными идентификаторами
#undef идентификатор Отменяет текущее определение идентификатора
#defined идентификатор #defined (идентификатор) Эта операция дает истинное (не равное 0) значение, если заданный идентификатор в данный момент определен
#include <путь> #include "путь" Включает содержимое файла, заданного именем путь, в текущий компилируемый ис­ходный файл. Путь представляет собой имя файла, которому может предшествовать спецификация каталога. Если спецификация пути заключена в двойные кавычки, то пре­процессор ищет файл в текущем (рабочем) каталоге, а в случае его отсутствия поиск переносится в стандартные каталоги поиска, которые задаются командой PATH операци­онной системы и установками интегрирован­ной среды Visual C++. Если же спецификация пути заключена в угловые скобки, то поиск осуществляется в стандартных каталогах
#if Константное_выражение Условная подстановка фрагмента текста в зависимости от значения константного выра­жения: фрагмент подставляется, если оно истинно. Конец условно подставляемого фрагмента обязательно должен быть отмечен директивой #endif
#endif Обозначает конец условно подставляемого фрагмента текста, начатого директивой #if
#ifdef идентификатор #ifndef идентификатор Условная подстановка фрагмента текста в зависимости от того, определен ли иденти­фикатор
#else Позволяет организовать альтернативную ветвь условной подстановки определенной директивой #if. Между директивами #if и ttendif разрешается использовать только одну директиву #else
#elif константное_выражение Сокращение от "else if". Используется как альтернативный вариант при построении вло­женных директив #if
#line целая_константа "имя_файла" (необязательное) Используется при генерации сообщений периода компиляции и сообщает компилятору об изменении порядка нумерации строк и необязательном изменении имени файла
#error текст Служит для прерывания компиляции, поиска ошибок и выдачи сообщения вида:Fatal: имя_файла номер_строки Error directive:Текст
#pragma последовательность символов Определяет зависящие от реализации указания компилятору (прагмы). Компилятор Visual C++ поддерживает следующие прагмы:

alloc text, comment, optimize, auto_inline, component, inline_depth, pack, bss seg, data_seg, function, intrinsic, setlocale, code_seg, hdrstop, message, const seg, once, warning, inline recursion, check_stack, include_alias Например,директива

#pragma warning(disable: 4305) предписывает компилятору не выдавать пре­дупреждения при несовпадении типов данных

Операции препроцессора

Операция Комментарий
# - операция подстановки строки Используется перед параметром макроса, и предписывает вместо значения этого пара­метра подставлять его имя
## - операция конкантенации Объединяет лексемы и, удаляя все пробелы, образует новое имя. Одно из применений этой операции заключается в динамическом создании имен переменных и макроопреде­лений. В макроопределении эта операция обрабатывается после подстановки парамет­ров макроса
#@— операция подстановки символа Рассматривает фактический параметр как отдельный символ, заключенный в одиночные кавычки