Home > Интернет, Компьютер, Проги, С++ > С++. Немного полезностей.

С++. Немного полезностей.

1.  Стандартные символьные константы:

Конец строки NL(LF) \n
Горизонтальная табуляция HT \t
Вертикальная табуляция VT \v
Возврат BS \b
Возврат каретки CR \r
Перевод формата FF \f
Сигнал BEL \a
Обратная дробная черта \ \\
Знак вопроса ? \?
Одиночная кавычка \’
Двойная кавычка \”
Нулевой символ NUL
Восьмеричное число ooo \ooo
Шестнадцатеричное число hhh \xhhh

2. Немного об областях видимости переменных.

int x;            // глобальное x

void f()
{
    int x;        // локальное x скрывает глобальное x
    x = 1;        // присвоить локальному x
    {
        int x;    // скрывает первое локальное x
        x = 2;    // присвоить второму локальному x
    }
    x = 3;        // присвоить первому локальному x
}

int* p = &x;      // взять адрес глобального x

А как обратиться к глобальной переменной, если локальная имеет такое же имя?

int x;

   void f2()
   {
     int x = 1;      // скрывает глобальное x
     ::x = 2;        // присваивание глобальному x
   }

3. Насчет времени жизни объектов

int a = 1;

    void f()
    {
      int b = 1;   // инициализируется при каждом вызове f()
      static int c = a;  // инициализируется только один раз
      cout << " a = " << a++
           << " b = " << b++
           << " c = " << c++ << '\n';
    }

    int main()
    {
      while (a < 4) f();
    }

 Здесь программа выдаст такой результат:

    a = 1 b = 1 c = 1
    a = 2 b = 1 c = 2
    a = 3 b = 1 c = 3

4. Если не указать тип переменной

Для краткости (и это не влечет никаких последствий) слово int можно не указывать в многословных типах, т.е. long означает long int, unsigned – unsigned int. Вообще, если в описании не указан тип, то предполагается, что это int. Например, ниже даны два определения объекта типа int:

const a = 1;      // небрежно, тип не указан
static x;          // тот же случай

5. Список операций в С++

:: Разрешение области видимости class_name :: member
:: Глобальное :: name
. Выбор члена object . member
-> Выбор члена pointer -> member
[] Индексирование pointer [ expr ]
() Вызов функции expr ( expr_list )
() Структурное значение type ( expr_list )
sizeof Размер объекта sizeof expr
sizeof Размер типа sizeof ( type )
++ Постфиксный инкремент lvalue ++
++ Префиксный инкремент ++ lvalue
Постфиксный декремент lvalue —
Префиксный декремент — lvalue
~ Дополнение ~ expr
! Логическое НЕ ! expr
Унарный минус – expr
+ Унарный плюс + expr
& Взятие адреса & lvalue
* Косвенность * expr
new Создание (размещение) new type
delete Уничтожение (освобождение) delete pointer
delete[] Уничтожение массива delete[] pointer
() Приведение(преобразование)типа ( type ) expr
. * Выбор члена косвенный object . pointer-to-member
->* Выбор члена косвенный pointer -> pointer-to-member
* Умножение expr * expr
/ Деление expr / expr
% Остаток от деления expr % expr
+ Сложение (плюс) expr + expr
Вычитание (минус) expr – expr
<< Сдвиг влево expr << expr
>> Сдвиг вправо expr >> expr
< Меньше expr < expr
<= Меньше или равно expr <= expr
> Больше expr > expr
>= Больше или равно expr >= expr
== Равно expr == expr
!= Не равно expr != expr
& Поразрядное И expr & expr
^ Поразрядное исключающее ИЛИ expr ^ expr
| Поразрядное включающее ИЛИ expr | expr
&& Логическое И expr && expr
|| Логическое ИЛИ expr || expr
? : Операция условия expr? expr : expr
= Простое присваивание lvalue = expr
*= Присваивание с умножением lvalue *= expr
/= Присваивание с делением lvalue /= expr
%= Присваивание с взятием остатка от деления lvalue %= expr
+= Присваивание со сложением lvalue += expr
-= Присваивание с вычитанием lvalue -= expr
<<= Присваивание со сдвигом влево lvalue <<= expr
>>= Присваивание со сдвигом вправо lvalue >>= expr
&= Присваивание с поразрядным И lvalue &= expr
|= Присваивание с поразрядным включающим ИЛИ lvalue |= expr
^= Присваивание с поразрядным исключающим ИЛИ lvalue ^= expr
, Запятая (последовательность) lvalue ^= expr

Источник

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: