Is it possible to cast a QList<Foo*> to QList<const Foo*> without creating a new list and copying all the values?

For example:
Qt Code:
  1. #include <QtCore>
  2.  
  3. class Foo
  4. {
  5. public:
  6. Foo(int bar, const QString& tar)
  7. : m_bar(bar),
  8. m_tar(tar)
  9. {
  10. };
  11.  
  12. int m_bar;
  13. QString m_tar;
  14. };
  15.  
  16. int main(int argc, char *argv[])
  17. {
  18. QCoreApplication app(argc, argv);
  19.  
  20. QList<Foo*> list;
  21. list << new Foo(23, "blah");
  22. list << new Foo(61, "whoo");
  23. list << new Foo(79, "oops");
  24.  
  25. QList<const Foo*> constList(list);
  26.  
  27. qDeleteAll(list);
  28. }
To copy to clipboard, switch view to plain text mode 

This gives a compilation error, which is normal since QList<const Foo*> doesn't have a constructor for Foo*:

Qt Code:
  1. main.cpp: In function ‘int main(int, char**)’:
  2. main.cpp:25:40: error: no matching function for call to ‘QList<const Foo*>::QList(QList<Foo*>&)’
  3. /usr/include/QtCore/qlist.h:118:12: note: candidates are: QList<T>::QList(const QList<T>&) [with T = const Foo*]
  4. /usr/include/QtCore/qlist.h:117:12: note: QList<T>::QList() [with T = const Foo*]
  5. make: *** [main.o] Error 1
To copy to clipboard, switch view to plain text mode