В этом ответе:
https://stackoverflow.com/a/14382318/1676605
эта программа дается:
std::vector<int> vi{ 0, 2, 4 };
std::vector<std::string> vs{ "1", "3", "5", "7" };
for (auto i : redi::zip(vi, vs))
std::cout << i.get<0>() << ' ' << i.get<1>() << ' ';
Я понятия не имею, что такое тип auto i
, что затрудняет повторное использование опыта и обучение на примерах. Вот что возвращает замена auto i
на char i
In function ‘int main()’:|
/data/cbworkspace/TestZip/TestZip.cpp|14|error: cannot convert ‘boost::iterator_facade<boost::zip_iterator<boost::tuples::tuple<__gnu_cxx::__normal_iterator<int*, std::vector<int> >, __gnu_cxx::__normal_iterator<int*, std::vector<int> > > >, boost::tuples::cons<int&, boost::tuples::cons<int&, boost::tuples::null_type> >, boost::random_access_traversal_tag, boost::tuples::cons<int&, boost::tuples::cons<int&, boost::tuples::null_type> >, long int>::reference {aka boost::tuples::cons<int&, boost::tuples::cons<int&, boost::tuples::null_type> >}’ to ‘char’ in initialization|
/data/cbworkspace/TestZip/TestZip.cpp|14|warning: unused variable ‘i’ [-Wunused-variable]|
||=== Build finished: 1 errors, 1 warnings (0 minutes, 0 seconds) ===|
Попытайтесь выяснить тип из этого.
Есть ли способ определить тип переменной auto
в C++11? Чтобы быть более ясным, у меня есть struct
вот так:
struct EventData
{
// return value from redi::zip<std::vector<PriceQuote>, std::vector<PriceQuote>> what goes here????? So REDI::Zip is zipping PriceQuote, PriceQuote of bids and asks.
};
struct PriceQuote
{
double price;
double size;
};
redi::zip
. - person Snps   schedule 23.07.2013auto
, если вы недостаточно знаете тип, чтобы его использовать - person Mooing Duck   schedule 23.07.2013std::cout << typeid(i).name() << std::endl;
- person Borgleader   schedule 23.07.2013begin()
, либо границами массива, но типi
будет тем, что возвращает оператор разыменования для этого итератора. - person Pixelchemist   schedule 23.07.2013reference
, результат разыменования итератора - person Jonathan Wakely   schedule 24.07.2013redi::zip(vi, vs)
или типi
в цикле? Они разные. Пожалуйста, уточните вопрос. - person Jonathan Wakely   schedule 24.07.2013typedef struct EventData { } EventData
, вам действительно следует взять книгу по C++. Это по-прежнему разрешено для совместимости с C, но ваш код, очевидно, основан на C++. - person MSalters   schedule 29.07.2013