Производительность контейнеров зависит от операций, которые с ними осуществляются.
В List быстро вставляется и быстро обходится по порядку, но если вам нужен доступ элементу в середине контейнера, то будет долго. В обычном Map сложность доступа растет логарифмически от размера - от этого недостатка избавлен HashMap.
Mercury13 вам правильно подсказывает, что структуры данных надо убрать за абстракцию класса:
class VKWall {
public:
Add(VKWallPost&& wp);
private:
QList<VKWallPost> m_posts;
};
Если столкнетесь с проблемами производительности (только если столкнетесь) и смена контейнеров в классах-обертках не поможет, то рассмотрите табличный вариант хранения:
stuct vkobj {unsigned wallpost_id, char[255] key, char[255] value};
QVector<vkobj> m_posts;