c++ - 使用 QVector 和 Qt 创建二维的 QString 数组

标签 c++ arrays qt qstring qvector

我想在数组中放入一些 QString 单词,但我不知道该怎么做。 我试过像这样使用 Vector :

int i = 10;
int j = 10;
QVector < QVector < QString> > tableau;
QString word = "Word";
tableau[i][j] = word;

但这行不通。 这是错误消息:

ASSERT failure in QVector<T>::operator[]: "index out of range"

啊,尝试过 std::vector 和 std::string 但这对

那么你能解释一下如何创建一个二维字符串数组来放置单词吗 谢谢

最佳答案

假设您正在尝试创建一个表(QVector<QVector<T>> 不是最佳选择),您应该首先对其进行初始化。

类似于:

QVector<QVector<QString>> CreateTableau(int sizeX, int sizeY)
{
   QVector<QVector<QString>> result;
   for (int idx1 = 0; idx1 < sizeX; idx1++)
   {
      result.append(QVector<QString>());
      for (int idx2 = 0; idx2 < sizeY; idx2++)
      {
         result[idx1].append(QString());
      } 
   }
   return result;
}

然后你可以这样调用它:

int i = 10;
int j = 10;
QVector<QVector<QString>> tableau = CreateTableau(100, 100); //TODO: replace with appropriate sizes.
QString word = "Word";
tableau[i][j] = word;

关于c++ - 使用 QVector 和 Qt 创建二维的 QString 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39005641/

相关文章:

c++ - 深层嵌套循环的缓存中毒问题

javascript - 循环 K/V 对数组并查找具有最小属性的对象的最快方法

php - 在php中必须从jquery [object Object]获取数据

c++ - Qt with OpenCV - 下载哪一个

c++ - 如何在 C++ 中实现整洁的架构组件边界?

c++ - 我可以从哪里开始使用可编程硬件?

c++ - 获取 RAM 系统大小

c - 传递字符串数组并对它们进行排序(在 C 中)

c++ - 在 Qt 中使用 SQLite

c++ - Qt 5.1 for OSX 安装仅包含 clang_64 目录,如何使用 macports gcc 进行编译?