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

Работа со списком STL - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ В С++ программа по вычислению функций http://www.cyberforum.ru/cpp-beginners/thread170614.html
Задали в универе сделать В С++ программу, а я никогда с ним не сталкивался, но так вот,напишите,кто может: "написать программі на языке С++ для расчёта значений х и y по заданным формулам.В первой...
C++ Деревья, неверный результат вопрос по деревьям. почему-то выдает адрес ячейки, а не содержимое... почему? #include <iostream> using namespace std; class Tree { int data; Tree *right; Tree *left; http://www.cyberforum.ru/cpp-beginners/thread170610.html
C++ вопрос по switch
cout<<"Введите первую букву имени(Большими буквами)"<<"\n"; cin>>b; switch(b) { case 'А':v1=4; v2=8;break; case 'В':v1=2; v2=5;break; case 'И':v1=0;break; case 'К':v1=1;
Создание манипуляторов C++
Здравствуйте! Задание: создать манипулятор, который будет игнорировать при вводе некоторые символы (заданные ранее). Подскажите пожалуйста как это сделать, или хотя бы где почитать про то, как с...
C++ Проверить есть ли в массиве одинаковые числа http://www.cyberforum.ru/cpp-beginners/thread170575.html
Как можно проверить есть ли в массиве числа с одинаковым значением? числа вводяться с клавиатуры.
C++ Старояпонский календарь Помогите написать программу: В старояпонском календаре был принят 60-летний цикл, состоявший из пяти 12-летних подциклов. Подциклы обозначались названиями цвета: зеленый, красный, желтый, белый и... подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт С++
2303 / 1673 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
30.09.2010, 23:34
Цитата Сообщение от ht1515 Посмотреть сообщение
а мне надо записывать в список данные разных типов(таких как byte, word, dword).
Как быть?
Использовать boost::any. Пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <vector>
#include <boost/any.hpp>
 
int main() {
  std::vector<boost::any> v;
  
  v.push_back(100); // int
  v.push_back(1.5); // double
  v.push_back('a'); // char
  
  std::cout << boost::any_cast<int   >(v[0]) << std::endl;
  std::cout << boost::any_cast<double>(v[1]) << std::endl;
  std::cout << boost::any_cast<char  >(v[2]) << std::endl;
    
  return 0;
}
Результат: http://liveworkspace.org/code/24013edf3fddf529b5c6088348b7683c
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru