Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Возможность сократить код


Автор: Mormishka 24.4.2011, 09:13
Можно ли как-то сократить в код в этом случае?
К примере не пимать одно и тоже, типа "cell[i,j].". Можно ли как то написать using napespace или что -то вроде этого?
Код

  for(int i;i<10;i++)
{
   cell[i,j].x=x1;
cell[i,j].y=y1;
cell[i,j].z=z1;
cell[i,j].t=t1;

}

Автор: mes 24.4.2011, 09:50
1.
Код

cell[i,j] = cell_t(x1, y1, z1, t1);

2.
Код

cell_t & c  = cell[i,j];
c.x = x1;
c.y = x2;
c.z = z1;
c.t = t1;

где cell_t тип объекта cell[i,j];

P.S. cell[i,j] это не cell[i][j], а просто cell[j];


Автор: Mormishka 24.4.2011, 11:03
mes, 
Нельзя ли как то попроще, сделать 
using cell[i][j]
{
чтоб здесь все воспринималось как элементы cell[i][j]

}

?

Библиотека boost может что-то подобное?

Автор: mes 24.4.2011, 11:36
std::tie из <tuple>
Код

  std::tie(a,b,c,d) = std::tie(x,y,z,t);

или подобное из boost::fusion, к примеру vector_tie с make_vector

Автор: volatile 24.4.2011, 12:34
Цитата(Mormishka @  24.4.2011,  11:03 Найти цитируемый пост)
Нельзя ли как то попроще, сделать 
using cell[i][j]

Mormishka, вы на бейсике программировали? это чувствуется... smile 

mes, в первом посте дал хороший ответ.
добавлением буста вы код вряд-ли сократите,  скорей наоборот. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)