Форум программистов, компьютерный форум CyberForum.ru

Приведение к структуре - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему операция взятия корня такая ресурсоемкая? http://www.cyberforum.ru/cpp/thread1284785.html
Здравствуйте! Просветите в вопросе. 1. Какие методы используются для его взятия? 2. Как есть пути оптимизации? Заранее спс!
C++ Процесс обучения нейросети Добрый день. Подскажите, пожалуйста, я хочу написать нейросеть на С++. Это возможно без подключения MATLAB на чистом С++? Дело в том, что перечитав кучу литературы об их проектировании и обучении, я не могу понять куда записываются измененные веса и как они влияют на следующий входной сигнал? К примеру подается цифра пять, в следующий раз подается таже цифра пять только немного иной формы и с... http://www.cyberforum.ru/cpp/thread1283572.html
Вложенность объектов и классов C++
// Создайте класс Rect, инкапсулирующий функциональность прямоугольника // с вещественными координатами. Он должен содержать два вложенных объекта // класса Vector, которые определяют координаты левого верхнего (ptLT) и // правого нижнего (ptRB) углов прямоугольника. Предусмотрите в конструкторе // (конструкторах) инициализацию встроенных объектов. // Введите в класс два объекта...
Vector как динамический массив C++
Здравствуйте. Не могу понять, как сделать с помощью контейнера vector, динамический массив. Заранее спасибо
C++ Объектные файлы *.obj, *.o - они случайно не кроссплатформенные? Если нет, то реальна ли конвертация? http://www.cyberforum.ru/cpp/thread1283137.html
Объясню подробнее, о чем я. Пишем простой код на си, без всяких платформо- и компиляторозависимых функций #include <stdio.h> //#include <conio.h> int main() { printf("hello world"); //_getch(); return 0;
C++ Захват изображения с одного монитора и копирование его на второй, подключенные к одному и тому же компьютеру Друзья, подскажите пожалуйста. Имеется два монитора, подключенных к одному компьютеру. Нужно реализовать захват экрана одного монитора, для вывода в свое окошко на другой монитор. Самое главное, что это должно работать для видео и игр. В инете я нашел несколько статей, но все они реализуют создание видеопотока для записи в файл или отправки по сети. Мне же не нужно ничего записывать или... подробнее

Показать сообщение отдельно
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
28.10.2014, 11:31     Приведение к структуре
Можно поизвращаться через boost::fusion. Суть: adapt_struct превращает структуру в fusion-sequence, по которой можно бегать итераторами.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
struct A
{
   int ivalue;
   double dvalue;
   std::string svalue;
};
 
BOOST_FUSION_ADAPT_STRUCT(
      A,
      (int, ivalue)
      (double, dvalue)
      (std::string, svalue)
)
 
struct assigner
{
public:
   assigner(void** pars) :
      counter(0), params(pars)
   {
   }
   template<typename T>
   void operator () (T& t) const
   {
      t = *static_cast<T*>(*(params + counter));
      ++counter;
   }
private:
   mutable int counter;
   void** params;
};
 
A create_from_params(void* params[])
{
   A object;
   boost::fusion::for_each(object, assigner(params));
   return object;
}
Полный пример: http://coliru.stacked-crooked.com/a/3dc0adcc2766fcd1
 
Текущее время: 21:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru