Pergunta

Estou usando o QT 4.5 e estou trabalhando com um QList<QStringList> que é uma lista da lista de strings.

Agora eu quero substituir uma string dentro de um stringlist, mas com ela parece incomum digitar. Eu encontrei a seguinte maneira de fazê -lo e queria saber se está tudo bem:

QList <QStringList> pDataList;

pDataList[listIndex].replace(QStringIndex, newString);

Agora, não estou preocupado com a sintaxe, mas quero saber se pDataListOs ponteiros são adjacentes na memória, para que seja bom usar []. tem outro jeito de fazer isto?

Foi útil?

Solução

A questão de pDataListOs elementos adjacentes na memória não estão relacionados à questão de saber se não há problema em usar operator[].

No geral, QList<> não garante que seus elementos sejam adjacentes na memória, mas sobrecarregar operator[] Para lhe dar o elemento que você está procurando.

A única coisa que você precisa se preocupar ao fazer algo assim é garantir que (pDataList.size() < listIndex). Caso contrário, você estará indexando elementos que não estão na lista, desencadeando uma exceção em depuração ou comportamento indefinido na liberação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top