Имеем вектор vector<vector<string>> all;
в него пихем
vector<string> a = {"+","Znak orifmeticheskoy operacii",g};
all.push_back(a);
Используя такой итератор как мне обращаться к столбцам конкретной строки? нужно реализовать поиск по первому столбцу.
vector<vector<string>>::iterator it;
for (it=all.begin();it!=all.end();it++){
std::cout<<&it <<" ";}
И как сделать вывод в нормальном формате(string) а не в &it(результат 0x8ec880)? и все это в QT.
Используя такой итератор как мне обращаться к столбцам конкретной строки?
for (auto it : all) {
const auto& nested_vector = *it;
for (auto it_n : nested_vector) {
// do smth
}
// UPD: const auto elm = nested_vector[i];
}
Еще пример:
#include <string>
#include <vector>
#include <iostream>
#include <cassert>
using col_t = std::string;
using row_t = std::vector<col_t>;
using mrx_t = std::vector<row_t>;
int main() {
const mrx_t mrx = {
{ "+", "add", "..." },
{ "-", "sub", "..." },
{ "*", "mul", "..." },
{ "/", "div", "..." }
};
for (mrx_t::size_type i = 0; i < mrx.size(); ++i) {
const row_t& row = mrx[i];
for (row_t::size_type j = 0; j < row.size(); ++j) {
if (i > 0 && mrx[i - 1][0] == "+" && i <= mrx.size() - 1 && mrx[i + 1][0] == "*") {
assert(mrx[i][0] == "-");
}
}
}
}
cout не умеет выводить vector. Нужно вывести первый элемент вектора.
vector<vector<string>>::iterator it;
for (it=all.begin();it!=all.end();it++){
std::cout << it[0] << " ";
}
В вашем случае стоит рассмотреть использования QMap т.к. vector не очень подходит, если нужно производить по нему поиск.
QMap<QString, QStringList> all;
QStringList a;
a.append("Znak orifmeticheskoy operacii");
a.append(g);
all["+"] = a;
...
if (all.contains("+")){
cout << all["+"].join(" ").toStdString;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я хочу открыть методу класса B полный доступ к приватным членам класса A, но получаю от компилятора непонятное сообщение об ошибке
Реализовать примерно следующее: 1На layout добавить графический элемент (дым) 2
Собственно, вопрос в заголовкеДля написания собственного парсера моих знаний пока не хватает (В Java, как и в самой среде LWJGL я довольно недавно)