programacion - que es un array en c++
¿Cuál es la forma correcta de inicializar una QList? (2)
Nunca use la QList<int>() << 1 << 1;
variante, ya que es muy lento. use siempre la variante de la list({1, 1})
.
fuente: https://www.angrycane.com.br/en/2018/06/19/speeding-up-cornercases/
¿Cuál es la forma correcta de inicializar QList? Quiero hacer que este código sea más corto:
QSplitter splitter;
QList<int> list;
list.append(1);
list.append(1);
splitter.setSizes(list);
Pero cuando uso la inicialización de std :: list, parece que no funciona:
splitter.setSizes(QList<int>::fromStdList(std::list<int>(1, 1)));
En este último caso, el divisor parece dividirse en proporción 1: 0.
Puede usar el siguiente código:
QList<int> list = QList<int>() << 1 << 1;
o lista de inicializadores con C ++ 11:
QList<int> list({1, 1});
Puede habilitar este último con la opción -std = c ++ 0x o -std = c ++ 11 para gcc. También necesitará la versión Qt correspondiente para la que se haya agregado la compatibilidad con la lista de inicializadores al constructor QList.