break
Прекращает выполнение ближайшего внешнего оператора: do, for, switch или while.
for(;;) { printf("TEST"); break; }
case
Оценивает <выражение> и выполняет любое утверждение, связанное с <постоянной-выражением>. Если не имеется никакого соответствия с постоянным выражением, то выполняется связанное с заданным по умолчанию ключевым словом. Если заданное по умолчанию ключевое слово не используется, управление переходит к утверждению после блока переключателя.
switch(i)
{
case 1: printf "Val 1"; break;
case 2: printf "Val 2"; break;
default: printf "Other";
}
continue
Передает управление в начало оператора цикла do, for, или while вызывая следующую итерацию.
for(i=0;i<2;i++){printf("test"); continue; exit(1);}
default
Используется в switch для выполнения действий неудовлетворяющим ни одному условию.
do
do оператор while(выражение);
Выполняет <оператор>, пока <выражение> истинно. Условие проверяется в конце цикла.
else
if (выражение) выражение1; [else выражение2;]
Выполняет <выражение2> если <выражение> не истинно.
for
for(init-expr; cond-expr; increment) оператор;
Выполняет <оператор>, пока инициализированное число <init-expr>, над которым производится операция <increment>, удовлетворяет условному выражению <cond-expr>.
goto
Оператор безусловного перехода. Управления передается на оператор с меткой <имя:>.
if
if (выражение) выражение1; [else выражение2;]
Выполняет <выражение1>, если <выражение> истинно (отлично от нуля). Если else присутствует, и <выражение> – ложно (нуль), выполняется <выражение2>. После выполнения <выражение1> или <выражение2 >, управление переходит к следующему оператору.
return
Прекращает выполнение текущей функции и возвращает управление вызывающей программе, с возможностью передачи значения выражения.
switch
Сравнивает <выражение> с константами во всех вариантах case и выполняет оператор связанный с <постоянной-выражением>. Если отсутствует соответствия с постоянных с выражениями то выполняется утверждение, связанное с ключевым словом default. Если ключевое слово default не используется то управление переходит к утверждению после блока переключателя.
switch(выражение){
case константа1: выражение1; [break;]
case константа(n): выражение(n); [break;]
[default: выражение(n+1);]
}
while
while(выражение) оператор;
Выполняет <оператор>, пока <выражение> истинно.
explicit
Ставится перед конструктором объекта и предотвращает использование конструктора для неявного преобразования типов.
namespace
Назначение области действия имён:
namespace Example { int myvar; }
k = Example::myvar;
this
Содержит указатель на собственный объект класса (т.е на себя);
typeid
Возвращает ссылку на объект type_info. Объект type_info – это поддерживаемый системой объект, представляющий тип.
const char *dataType = typeid(T).name();
typename
Указывает, что следующий за ним идентификатор обозначает тип. Обычно используется внутри шаблонов.
using
Делает глубоковложенную команду, со специальной областью видимости, видимой по умолчанию:
using std::cout;
cout << "test";
using namespace math;
static_cast
Выполняет стандартные преобразования (статическое):
int x = static_cast<int>(d);
string s = static_cast<string>("ch_string");
derivedPtr = static_cast<DerivedClass *>(basePtr); (преобразование потомка к базовому классу)
dynamic_cast
Выполняет динамическое приведение, иными словами, в процессе выполнения с проверкой возможности приведения. Можно использовать для программной проверки типа наследника из базового класса.
cylinderPtr = dynamic_cast<const Cylinder *>(shapePtr);
if(cylinderPtr != NULL) shapePtr->area(); //Цилиндр
const_cast
Используется для снятия константности или volatile путём приведения:
const_cast<const CastTest *>(this)->number-; (при вызове из константной функции)
reinterpret_cast
Для нестандартных преобразований:
count << *reintepret_cast<char *>(ptr) « endl; (преобразует (int *) в (char *) и разыменовывает)
Стандарт языка C++ предоставляет ключевые слова-операторы, которые могут использоваться вместо нескольких операторов C++ (таблица 6).
Оператор | Слово-оператор | Описание |
Логические операторы-ключевые слова | ||
&& | and | логическое И (AND) |
|| | or | логическое ИЛИ (OR) |
! | not | логическое НЕ (NOT) |
Оператор «не равно»-ключевое слово | ||
!= | not_eq | не равно |
Побитовые операторы-ключевые слова | ||
& | bitand | побитовое И (AND) |
| | bitor | побитовое включающее ИЛИ (OR) |
^ | xor | побитовое исключающее ИЛИ (OR) |
~ | compl | побитовое инвертирование разрядов |
Побитовые операторы присваивания-ключевые слова | ||
&= | and_eq | побитовое И (AND) и присваивание |
|= | or_eq | побитовое включающее ИЛИ (OR) и присваивание |
^= | xor_eq | побитовое исключающее ИЛИ (OR) и присваивание |