Массивы, указатели и ссылки

Содержание

Слайд 2

Оператор Switch

Синтаксис:

switch (expression)
{
case value_1:
// some code
break;
case value_2:

Оператор Switch Синтаксис: switch (expression) { case value_1: // some code break;
{
// some code
} break;
// ...
default:
break;
}

Новый синтаксис (с++17):

switch (initialization; expression)
{
case value_1:
// some code
break;
// ...
default:
// some code
break;
}

Слайд 3

Пример использования Switch

void showErrorByCode(int errorCode)
{
switch (errorCode)
{
case 0:
std::cout <<

Пример использования Switch void showErrorByCode(int errorCode) { switch (errorCode) { case 0:
"Can't open file" << std::endl;
break;
case 1:
std::cout << "Can't modify file" << std::endl;
break;
case 2:
std::cout << "Incorrect filename" << std::endl;
break;
default:
std::cout << "Incorrect error code: " << errorCode << std::endl;
break;
}
}

Слайд 4

Комментарии

Однострочный:
int main() // Точка входа
{
return 0;
}

Многострочный:

/*
Немного комментариев коду
не

Комментарии Однострочный: int main() // Точка входа { return 0; } Многострочный:
помешает
*/

Слайд 5

Множественное присваивание

Операторы присваивания (=, +=, -=, …) в языке С++ являются операциями,

Множественное присваивание Операторы присваивания (=, +=, -=, …) в языке С++ являются
то есть они возвращают значение, присвоенное переменной.

Это позволяет использовать конструкции вида:
void someFunction()
{
int x, y, z;
x = y = z = 0;
x += y = 5;
}

Слайд 6

Ссылочные переменные

Ссылочная переменная – служит для задания синонима другой переменной,

Обозначение:
тип_переменной& имя_переменой

Ссылочные переменные Ссылочная переменная – служит для задания синонима другой переменной, Обозначение:
= выражение;

NB: Обязательно должна быть проинициализирована

Слайд 7

Пример использования ссылочной переменной
void someFunction()
{
int variable = 23;
int& reference =

Пример использования ссылочной переменной void someFunction() { int variable = 23; int&
variable;
std::cout << "original: " << variable << std::endl; // 23
std::cout << "ref: " << reference << std::endl; // 23
variable += 5;
reference += 10;
std::cout << "original: " << variable << std::endl; // 38
std::cout << "ref: " << reference << std::endl; // 38
}

Слайд 8

Виды передачи аргументов функции

По значению

Функция получает копии фактических параметров

void increase(int value) {

Виды передачи аргументов функции По значению Функция получает копии фактических параметров void
++value;
}
int main()
{
int x = 2;
increase(x);
std::cout << x << std::endl; // 2 ☹
}

Слайд 9

Виды передачи аргументов функции

По ссылке

Функция получает сами фактические параметры

void increase(int& value) {

Виды передачи аргументов функции По ссылке Функция получает сами фактические параметры void
++value;
}
int main()
{
int x = 2;
increase(x);
std::cout << x << std::endl; // 3 ☺
}

Слайд 10

Пример возврата ссылки
int& getValue(int& variable)
{
return variable;
}
int main()
{
int x = 3;

Пример возврата ссылки int& getValue(int& variable) { return variable; } int main()
getValue(x) = 4;
}

Слайд 11

Массивы

Массив – структура данных, хранящая множество элементов одного типа

Объявление статического массива:

имя_типа имя_массива[количество_элементов];

Например:

int

Массивы Массив – структура данных, хранящая множество элементов одного типа Объявление статического
array[1000];
wchar_t array[1];

Слайд 12

Массивы

Объявление статического массива с инициализацией:

имя_типа имя_массива[размер_массива] = { элемент_1, элемент_2, ... };

Примеры:
int

Массивы Объявление статического массива с инициализацией: имя_типа имя_массива[размер_массива] = { элемент_1, элемент_2,
array[3] = { 1, 2, 3 };
double array[100] = { 1, 2 };
float array[50] {};
char32_t array[] = { 1, 2 } // компилятор самостоятельно подсчитает // количество элементов

Слайд 13

Индексация массивов

13

22

10

-3

-1

0

4

0

1

2

3

4

5

6

int array[7];

std::cout << array[0];

индекс

значение

Индексация массивов 13 22 10 -3 -1 0 4 0 1 2

Слайд 14

Контексты использования массива
array[3] = 2;
array[2] += 11;
if (array[12] == 10)
{
// some

Контексты использования массива array[3] = 2; array[2] += 11; if (array[12] ==
code
}
function(array[0]);
int& fifth = array[5];

Слайд 15

Размер статического массива

int array[];
sizeof(array); // возвращает размер массива в байтах

sizeof(array) / sizeof(array[0]);

Размер статического массива int array[]; sizeof(array); // возвращает размер массива в байтах
// возвращает количество элементов
Имя файла: Массивы,-указатели-и-ссылки.pptx
Количество просмотров: 33
Количество скачиваний: 0