>>Мне надо было бы что бы в первой мерности были к примеру string, а во второй int.
>
>Может multimap использовать? Или не подойдёт? Спасибо, как раз подошло!
http://www.cppreference.com/cppmap/all.html
Кусок моей реализации (OSS /dev/mixer):
std::multimap<std::string, int> ALL_MIX_DEV;
// List of ALL avaible devices
for (int i = 0; i < SOUND_MIXER_NRDEVICES; i++) {
ALL_MIX_DEV.insert(std::pair<std::string, int>(sound_device_names, i));
}
for (std::multimap<std::string, int>::iterator it = ALL_MIX_DEV.begin(); it != ALL_MIX_DEV.end(); ++it) {
std::cout << " [" << (*it).first << ", " << (*it).second << "]" << std::endl;
}
....
std::pair<std::multimap<std::string, int>::iterator, std::multimap<std::string, int>::iterator> ppp;
ppp = ALL_MIX_DEV.equal_range(v[1]);
std::multimap<std::string, int>::iterator it2 = ppp.first;
ioctl(mixer_fd, MIXER_READ((*it2).second), &level);
std::cout << std::setw(7) << (level & 0xff) << (level & 0xff) << std::endl;
....
>[оверквотинг удален]
> //...
> vector<channel> v;
> v.push_back(channel("PCM", 15));
> v.push_back(channel("VOL", 24));
> v.push_back(channel("MIC", 8));
>
> for(int i=0; i<3; i++)
> cout<<v[ i].name<<": "<<v[ i].value<<endl;
>
> Хотя может и перемудрил чего - давно на C++ не писал...
Не компилится че-то... :
f.vector.cpp: In function ‘int main()’:
f.vector.cpp:15: ошибка: в ‘main()::channel’ используется локальный тип ‘main()::channel’
f.vector.cpp:15: ошибка: при конкретизации ‘template<class _Alloc> class std::allocator’
f.vector.cpp:15: ошибка: некорректный аргумент шаблона 2
f.vector.cpp:15: ошибка: invalid type in declaration before ‘;’ token
f.vector.cpp:16: ошибка: запрос элемента ‘push_back’ в ‘v’, имеющего не классовый тип ‘int’
f.vector.cpp:17: ошибка: запрос элемента ‘push_back’ в ‘v’, имеющего не классовый тип ‘int’
f.vector.cpp:18: ошибка: запрос элемента ‘push_back’ в ‘v’, имеющего не классовый тип ‘int’
f.vector.cpp:21: ошибка: некорректные типы ‘int[int]’ для индекса массива
f.vector.cpp:21: ошибка: некорректные типы ‘int[int]’ для индекса массива
> boost::variant поможет.
> http://www.boost.org/doc/html/variant.html
Я в C++ еще новичок, и Boost для меня за сложно....
Но спасибо, когда созрею перепишу на нем :)
Большое спасибо всем за помощь!