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

Двумерный вектор из разных типов - возможно? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Дано натуральное число n. Составить программу вычисления S = 1! + 2! + 3! + …+ n! http://www.cyberforum.ru/cpp-beginners/thread950434.html
Дано натуральное число n. Составить программу вычисления S = 1! + 2! + 3! + …+ n! Помогите с программой, пробовал листинг, который есть на сайте он не подходит, корявый поэтому ссылки просьба не кидать
C++ Работа с while, kbhit() и getch() Здравствуйте! Подскажите пожалуйста, Задача, сделать точку в консоли, которая бы двигалась в заданном направление и меняла его при нажатие на клавиши ( W A S D ) Как я это вижу, точка двигается пока не заданно другое (т.е. прошлое место заменяется на пробел, место +1 меняется на точку). При нажатие клавиши пускаем функцию отвечающую за смену направления. Может не прав? void change() //... http://www.cyberforum.ru/cpp-beginners/thread950432.html
C++ Взятие адреса у константной переменной при объявлении
Можно пример?
Wavefront *.obj C++
Пишу конвертер моделей для одной допотопной игрушки. По большому счету все готово, осталось только сохранить полученные данные в какой-нибудь общеизвестный формат. Показалось логичным использовать wavefront - он легкий, простой и вообще хороший. Ну а что скелеты с анимациями не поддерживает так тут это и не требуется - в исходном формате все модели статичны. Собственно хотел спросить, никто не...
C++ Последний элемент из файла выводится 2 раза http://www.cyberforum.ru/cpp-beginners/thread950419.html
Добрый вечер. Подскажите, пожалуйста, почему при чтении из файла последний элемент выводиться 2 раза? Если в файле такие данные: "string1 string2 string3", то в результате получится "string1string2string3string3". #include <iostream> #include <fstream> #include <string> int main() { std::string str; std::string result;
C++ Почему в координата Y на мониторе вверху, а в математике она была в низу Почему в координата Y на мониторе вверху, а в математике она была в низу?, есть ли ссылка о том кто это придумал и почему он или она так решили сделать подробнее

Показать сообщение отдельно
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,283
09.09.2013, 10:27     Двумерный вектор из разных типов - возможно?
Второй вариант заключается в использовании отдельной структуры:
C++
1
2
3
4
5
6
7
struct coolstruct {
    std::string s1;
    std::string s2;
    int i1;
    int i2;
};
std::vector<coolstruct> vec1;
"двумерный вектор", где первые два с типом string, другие два с типом int?
Это одномерный вектор который содержит объекты, каждый из которых представляет собой упорядоченное множество состоящее из объектов указанных в std::tuple типов, т.е. из string, string, int, int.

Пример:

C++
1
2
3
4
5
6
7
std::vector<std::tuple<std::string, std::string, int, int>> vec;
vec.push_back( std::make_tuple( "str1", "str2", 1, 42 ) );
 
std::string s1 = std::get<0>( vec[ 0 ] ); // s1 == "str1"
std::string s2 = std::get<1>( vec[ 0 ] ); // s2 == "str2"
int i1 = std::get<2>( vec[ 0 ] ); // i1 == 1
int i2 = std::get<3>( vec[ 0 ] ); // i2 == 42
Про tuple поподробнее можно почитать скажем здесь: http://qosys.info/97/tuple-cpp-%D0%B...B5%D0%B6%D0%B8

Если нужен именно двумерных вектор, то предыдущую конструкцию нужно завернуть в еще один вектор
 
Текущее время: 22:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru