Страница 1 из 1

область видимости итератора

Добавлено: 10 мар 2024, 20:56
ya
Видимость итератора i только внутри цикла for

Код: Выделить всё

#include <iostream>
int main(int arg, char **argv)
{
	for (size_t i{0} ; i < 10 ; ++i)
	{
		std::cout << i << std::endl;
	}
	return 0;
}
Если нужно использовать итератор вне цикла, нужно его объявить вне цикла:

Код: Выделить всё

size_t j{};
const size_t COUNT {10};
	for (j ; j < COUNT ; ++j)
	{
		std::cout << j << std::endl;
	}
	std::cout << "Последний итератор : " << j << std::endl;

Использование итератора массива (так же массив можно объявить константой, чтобы не менять массив):
в массиве хранятся данные одного и того же типа

Код: Выделить всё

int class_size[] {10,12,15,11,18,17}; //в данном случае указание размера массива в кв скобках не обязателен
int sum{0};
size_t count {sizeof(class_size)/ sizeof(class_size[0])}; // размер массива для c++11
// size_t count {std::siz(class_size)}; // размер массива для c++17

for(auto value : class_size) // в данном цикле нет доступа к индексу массива
{
	std::cout << "Значение : "<< value << std::endl;
	sum += value;
}
std::cout << "Сумма всех элементов массива : " << sum << sdt::endl;