<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Двухмерный вектор </title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6881.html</link>
    <description>Подскажите как добавлять данные в двухмерный вектор?&lt;br&gt;&lt;br&gt;// Создаем вектор&lt;br&gt;std::vector &amp;lt;std::vector &amp;lt;std::string&amp;gt; &amp;gt; MIX_DEV;&lt;br&gt;&lt;br&gt;Я как туда push_back() ?!?&lt;br&gt;&lt;br&gt;В инете нашел как создавать их, а вот как добавлять данные - не нашел.&lt;br&gt;&lt;br&gt;Зарание спасибо,&lt;br&gt;</description>

<item>
    <title>Двухмерный вектор  (siegerstein)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6881.html#13</link>
    <pubDate>Fri, 26 Oct 2007 11:38:26 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;А если уж использовать ассоциативный массив, то не multimap, а map, так &lt;br&gt;&amp;gt;как в первом возможно существование двух элементов с одним ключём (ключ &lt;br&gt;&amp;gt;у вас - это название канала), а это не ваш случай. &lt;br&gt;&amp;gt;Но одна из основных идей использования map - это обращение (поиск) &lt;br&gt;&amp;gt;к элементу по ключу. То есть для приведённого кода, что-то вроде &lt;br&gt;&amp;gt;ALL_MIX_DEV&#091;&quot;PCM&quot;&#093; (для получения или установки соответствующего значения для канала PCM, например). &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;А вообще, лучше всего почитать Страуструпа, чтобы делать осознанный выбор. STL там &lt;br&gt;&amp;gt;довольно хорошо описан. &lt;br&gt;&lt;br&gt;Спасибо, да компилится...&lt;br&gt;Я как раз тоже поменял с multimap на map...&lt;br&gt;&lt;br&gt;Теперь имею два варианта решения проблемы :)&lt;br&gt;&lt;br&gt;Спасибо за помощь, jd!&lt;br&gt;</description>
</item>

<item>
    <title>Двухмерный вектор  (jd)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6881.html#12</link>
    <pubDate>Fri, 26 Oct 2007 02:32:20 GMT</pubDate>
    <description>&amp;gt;f.vector.cpp: In function &amp;#8216;int main()&amp;#8217;: &lt;br&gt;&amp;gt;f.vector.cpp:15: ошибка: в &amp;#8216;main()::channel&amp;#8217; используется локальный тип &amp;#8216;main()::channel&amp;#8217; &lt;br&gt;&amp;gt;f.vector.cpp:15: ошибка:   при конкретизации &amp;#8216;template&amp;lt;class _Alloc&amp;gt; class std::allocator&amp;#8217;&lt;br&gt;&amp;gt;...&lt;br&gt;&lt;br&gt;Имелось в виду что-то вроде:&lt;br&gt;&#091;code&#093;&lt;br&gt;#include &amp;lt;vector&amp;gt;&lt;br&gt;#include &amp;lt;string&amp;gt;&lt;br&gt;#include &amp;lt;iostream&amp;gt;&lt;br&gt;&lt;br&gt;using namespace std;&lt;br&gt;&lt;br&gt;struct channel&lt;br&gt;&#123; string name;&lt;br&gt;  int value;&lt;br&gt;  channel(const string &amp;n, int v): name(n), value(v) &#123;&#125;&lt;br&gt;&#125;;&lt;br&gt;&lt;br&gt;int main()&lt;br&gt;&#123; vector&amp;lt;channel&amp;gt; v;&lt;br&gt;  v.push_back(channel(&quot;PCM&quot;, 15));&lt;br&gt;  v.push_back(channel(&quot;VOL&quot;, 24));&lt;br&gt;  v.push_back(channel(&quot;MIC&quot;, 8));&lt;br&gt;&lt;br&gt;  for(int i=0; i&amp;lt;3; i++)&lt;br&gt;    cout&amp;lt;&amp;lt;v&#091; i&#093;.name&amp;lt;&amp;lt;&quot;: &quot;&amp;lt;&amp;lt;v&#091; i&#093;.value&amp;lt;&amp;lt;endl;&lt;br&gt;&lt;br&gt;  return 0;&lt;br&gt;&#125;&lt;br&gt;&#091;/code&#093;&lt;br&gt;&lt;br&gt;И оно прекрасно компиляется и работает.&lt;br&gt;&lt;br&gt;А если уж использовать ассоциативный массив, то не multimap, а map, так как в первом возможно существование двух элементов с одним ключём (ключ у вас - это название канала), а это не ваш случай. Но одна из основных идей</description>
</item>

<item>
    <title>Двухмерный вектор  (siegerstein)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6881.html#11</link>
    <pubDate>Thu, 25 Oct 2007 13:29:35 GMT</pubDate>
    <description>&amp;gt;http://www.cppreference.com/cppmap/all.html &lt;br&gt;&lt;br&gt;Ой, перепутал ссылку. Вот брал от сюда:&lt;br&gt;&lt;br&gt;http://www.yolinux.com/TUTORIALS/CppStlMultiMap.html&lt;br&gt;</description>
</item>

<item>
    <title>Двухмерный вектор  (siegerstein)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6881.html#10</link>
    <pubDate>Thu, 25 Oct 2007 13:24:49 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Мне надо было бы что бы в первой мерности были к примеру string, а во второй int.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Может multimap использовать? Или не подойдёт? &lt;br&gt;&lt;br&gt;Спасибо, как раз подошло!&lt;br&gt;&lt;br&gt;http://www.cppreference.com/cppmap/all.html&lt;br&gt;&lt;br&gt;Кусок моей  реализации (OSS /dev/mixer):&lt;br&gt;&lt;br&gt;std::multimap&amp;lt;std::string, int&amp;gt; ALL_MIX_DEV;&lt;br&gt;&lt;br&gt;// List of ALL avaible devices&lt;br&gt;for (int i = 0; i &amp;lt; SOUND_MIXER_NRDEVICES; i++) &#123;&lt;br&gt;ALL_MIX_DEV.insert(std::pair&amp;lt;std::string, int&amp;gt;(sound_device_names&#091;i&#093;, i));&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;for (std::multimap&amp;lt;std::string, int&amp;gt;::iterator it = ALL_MIX_DEV.begin(); it != ALL_MIX_DEV.end(); ++it) &#123;&lt;br&gt;std::cout &amp;lt;&amp;lt; &quot;  &#091;&quot; &amp;lt;&amp;lt; (*it).first &amp;lt;&amp;lt; &quot;, &quot; &amp;lt;&amp;lt; (*it).second &amp;lt;&amp;lt; &quot;&#093;&quot; &amp;lt;&amp;lt; std::endl;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;....&lt;br&gt;&lt;br&gt;std::pair&amp;lt;std::multimap&amp;lt;std::string, int&amp;gt;::iterator, std::multimap&amp;lt;std::string, int&amp;gt;::iterator&amp;gt; ppp;&lt;br&gt;ppp = ALL_MIX_DEV.equal_range(v&#091;1&#093;);&lt;br&gt;std::multimap&amp;lt;std::string, int&amp;gt;::iterator it2 = ppp.first;&lt;br&gt;&lt;br&gt;ioctl(mixer_fd, MIXER_READ((*it2).second), &amp;level);&lt;br&gt;std::cout &amp;lt;&amp;lt; std::setw(7) &amp;lt;&amp;lt; (level &amp; 0xff) &amp;lt;&amp;lt; (level &amp; 0xf</description>
</item>

<item>
    <title>Двухмерный вектор  (DeadMustdie)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6881.html#9</link>
    <pubDate>Thu, 25 Oct 2007 05:30:21 GMT</pubDate>
    <description>boost::variant поможет.&lt;br&gt;&lt;br&gt;http://www.boost.org/doc/html/variant.html&lt;br&gt;</description>
</item>

<item>
    <title>Двухмерный вектор  (phpcoder)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6881.html#8</link>
    <pubDate>Thu, 25 Oct 2007 04:26:34 GMT</pubDate>
    <description>&amp;gt;Мне надо было бы что бы в первой мерности были к примеру string, а во второй int.&lt;br&gt;&lt;br&gt;Может multimap использовать? Или не подойдёт?&lt;br&gt;</description>
</item>

<item>
    <title>Двухмерный вектор  (jd)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6881.html#7</link>
    <pubDate>Wed, 24 Oct 2007 23:18:32 GMT</pubDate>
    <description>Насколько я понял суть задачи:&lt;br&gt;&#091;code&#093;&lt;br&gt;struct channel&lt;br&gt;&#123; string name;&lt;br&gt;  int value;&lt;br&gt;  channel(const string &amp;n, int v): name(n), value(v) &#123;&#125;&lt;br&gt;&#125;;&lt;br&gt;&lt;br&gt;//...&lt;br&gt;vector&amp;lt;channel&amp;gt; v;&lt;br&gt;v.push_back(channel(&quot;PCM&quot;, 15));&lt;br&gt;v.push_back(channel(&quot;VOL&quot;, 24));&lt;br&gt;v.push_back(channel(&quot;MIC&quot;, 8));&lt;br&gt;&lt;br&gt;for(int i=0; i&amp;lt;3; i++)&lt;br&gt;  cout&amp;lt;&amp;lt;v&#091; i&#093;.name&amp;lt;&amp;lt;&quot;: &quot;&amp;lt;&amp;lt;v&#091; i&#093;.value&amp;lt;&amp;lt;endl;&lt;br&gt;&#091;/code&#093;&lt;br&gt;&lt;br&gt;Хотя может и перемудрил чего - давно на C++ не писал...&lt;br&gt;</description>
</item>

<item>
    <title>Двухмерный вектор  (jd)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6881.html#6</link>
    <pubDate>Wed, 24 Oct 2007 23:05:40 GMT</pubDate>
    <description>&amp;gt;Мне надо было бы что бы в первой мерности были к примеру &lt;br&gt;&amp;gt;string, а во второй int. &lt;br&gt;&lt;br&gt;Что вы имеете в виду? &quot;В первой мерности&quot; у вас вектора строк, во второй - строки...&lt;br&gt;</description>
</item>

<item>
    <title>Двухмерный вектор  (siegerstein)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6881.html#5</link>
    <pubDate>Wed, 24 Oct 2007 23:03:31 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;&amp;gt;for(int i=0; i&amp;lt;3; i++) &lt;br&gt;&amp;gt;&amp;gt;  for(int j=0; j&amp;lt;2; j++) &lt;br&gt;&amp;gt;&amp;gt;    cout&amp;lt;&amp;lt;vv&#091; i&#093;&#091;j&#093;&amp;lt;&amp;lt;endl; &lt;br&gt;&amp;gt;&amp;gt;&#091;/code&#093; &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;С размерностями только осторожнее: строки (второй индекс) могут быть разных размеров. &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Спасибо jd, не успел ответить tx2 как тут еще один примерчик :) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Сейчас и это попробую для разнообразия ) &lt;br&gt;&lt;br&gt;С векторами разобрался, теперь вопрос как засунут разные типы данных в вектор, или как это можна сделать :)&lt;br&gt;&lt;br&gt;Что-то типа такого:&lt;br&gt;&lt;br&gt;std::vector&amp;lt; std::vector&amp;lt; int &amp;gt; &amp;gt; test;&lt;br&gt;&lt;br&gt;std::vector&amp;lt; int &amp;gt; v1;&lt;br&gt;std::vector&amp;lt; std::string &amp;gt; v2;&lt;br&gt;&lt;br&gt;v1.push_back(15);&lt;br&gt;v1.push_back(24);&lt;br&gt;v1.push_back(8);&lt;br&gt;&lt;br&gt;v2.push_back(&quot;PCM&quot;);&lt;br&gt;v2.push_back(&quot;VOL&quot;);&lt;br&gt;v2.push_back(&quot;MIC&quot;);&lt;br&gt;&lt;br&gt;test.push_back(v1);&lt;br&gt;test.push_back(v2);&lt;br&gt;&lt;br&gt;Но это понятно не сработает.&lt;br&gt;Если ли какие-то способы?&lt;br&gt;</description>
</item>

</channel>
</rss>
