Size: a a a

IT KPI C/C++ ХВ (не UB)

2021 March 09

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
We all wanna be somebody
Пройшло 4 год, ще не обрав?
Давно
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Это был я
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
я просто предупредил всех в общем чате
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
а потом выбрал в лс
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
так и избранный есть, и остальные не расслабляются
источник

AP

Alexander Pavlyuchuk in IT KPI C/C++ ХВ (не UB)
а то мало ли шо
источник

W

We all wanna be some... in IT KPI C/C++ ХВ (не UB)
а взагалі, є питання. Є приблизно такий код
auto func()
{
   //in general initialize arr somehow
   vector<int>arr(15, 0);
   
   return arr.begin();
}
for(auto it = func(); it != /*somewhat*/; it++)
   cout << *it << ' ';

Питання в тому чи реально зробити щось таке, але не роблячи arr глобальним? Ну тобтом, чи можна вернути ітератор на локальний контейнер так, щоб в скоупі де відбувався виклик функції я все ще міг ітеруватися через цей контейнер?
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
We all wanna be somebody
а взагалі, є питання. Є приблизно такий код
auto func()
{
   //in general initialize arr somehow
   vector<int>arr(15, 0);
   
   return arr.begin();
}
for(auto it = func(); it != /*somewhat*/; it++)
   cout << *it << ' ';

Питання в тому чи реально зробити щось таке, але не роблячи arr глобальним? Ну тобтом, чи можна вернути ітератор на локальний контейнер так, щоб в скоупі де відбувався виклик функції я все ще міг ітеруватися через цей контейнер?
Статик
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
We all wanna be somebody
а взагалі, є питання. Є приблизно такий код
auto func()
{
   //in general initialize arr somehow
   vector<int>arr(15, 0);
   
   return arr.begin();
}
for(auto it = func(); it != /*somewhat*/; it++)
   cout << *it << ' ';

Питання в тому чи реально зробити щось таке, але не роблячи arr глобальним? Ну тобтом, чи можна вернути ітератор на локальний контейнер так, щоб в скоупі де відбувався виклик функції я все ще міг ітеруватися через цей контейнер?
А лучше просто верни
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Мув семантика и copy elision в помощь
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Vlad Doc
А лучше просто верни
В смысле вектор
источник

W

We all wanna be some... in IT KPI C/C++ ХВ (не UB)
Vlad Doc
Статик
тоді якщо я спробую в одній області видимості створити 2 ітератори, то перший може стати битим
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
We all wanna be somebody
а взагалі, є питання. Є приблизно такий код
auto func()
{
   //in general initialize arr somehow
   vector<int>arr(15, 0);
   
   return arr.begin();
}
for(auto it = func(); it != /*somewhat*/; it++)
   cout << *it << ' ';

Питання в тому чи реально зробити щось таке, але не роблячи arr глобальним? Ну тобтом, чи можна вернути ітератор на локальний контейнер так, щоб в скоупі де відбувався виклик функції я все ще міг ітеруватися через цей контейнер?
for(auto& elem : func()) {

}
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Vlad Doc
for(auto& elem : func()) {

}
Просто вернуть надо вектор по значению
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
Дмитро Цимбалюк
опять студия чето промышляет и неявно добавляет?
читаем ворнинг и понимает что ты не подключил либу так как код блокс не знает такой прагмы
источник

ДЦ

Дмитро Цимбалюк... in IT KPI C/C++ ХВ (не UB)
та уже решено
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
добавляй в опциях проекта(в студии так делается, хз как тут)
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
ну ок
источник

ДЦ

Дмитро Цимбалюк... in IT KPI C/C++ ХВ (не UB)
вот как подключиться все еще не понял
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
к чему?
источник