# C++11 modernization, update to ITK5, removal of obsolete Qt4 and VTK7 support

**URL:** <https://discourse.slicer.org/t/c-11-modernization-update-to-itk5-removal-of-obsolete-qt4-and-vtk7-support/6165>\
**Category:** Development\
**Tags:** build\
**Created:** [March 16, 2019, 6:49pm UTC](https://discourse.slicer.org/t/c-11-modernization-update-to-itk5-removal-of-obsolete-qt4-and-vtk7-support/6165 "2019-03-16T18:49:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [March 16, 2019, 6:49pm UTC](https://discourse.slicer.org/t/c-11-modernization-update-to-itk5-removal-of-obsolete-qt4-and-vtk7-support/6165/1 "2019-03-16T18:49:49Z")

</div>

This past week we were busy modernizing the Slicer code base to:

- support only C++11 (including update to use `nullptr` and `override` keywords)
- use ITKv5
- remove obsolete Qt4/VTK7 support.

Thanks to @phcerdan, @hjmjohnson and @Sam_Horvath for their contributions.

A new migration guide has also been added. See [https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/MigrationGuide#Obsolete\_Code\_Removal](https://www.slicer.org/wiki/Documentation/Nightly/Developers/Tutorials/MigrationGuide#Obsolete_Code_Removal)

---

<div class="post-metadata">

**Author:** ![benzwick](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/benzwick/32/80521_2.png) [@benzwick](https://discourse.slicer.org/u/benzwick)\
**Post date:** [April 16, 2021, 7:54am UTC](https://discourse.slicer.org/t/c-11-modernization-update-to-itk5-removal-of-obsolete-qt4-and-vtk7-support/6165/2 "2021-04-16T07:54:44Z")

</div>

Does this mean it is now possible to use C++11 features in extension modules? If so, the following on advice on the [Developers/FAQ](https://www.slicer.org/wiki/Documentation/Nightly/Developers/FAQ#Can_I_use_C.2B.2B11.2F14.2F17_language_features_.3F) should be updated:

> Since Slicer is not built with these features (it used c++98/c++03), you should not use C++11/14/17 language features in your extensions.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [April 18, 2021, 5:00am UTC](https://discourse.slicer.org/t/c-11-modernization-update-to-itk5-removal-of-obsolete-qt4-and-vtk7-support/6165/3 "2021-04-18T05:00:06Z")

</div>

Yes, C++11 features can be used. I’ve updated the FAQ - thanks for reporting the outdated documentation.
