Difference between revisions of "Relevant Developer Tutorials"

From Mudlet
Jump to navigation Jump to search
Line 10: Line 10:
 
* [https://mbevin.wordpress.com/2012/11/13/auto/ C++11] - know how to make your life easier with modern C++11.
 
* [https://mbevin.wordpress.com/2012/11/13/auto/ C++11] - know how to make your life easier with modern C++11.
  
Random reading:
+
Good reading:
 
* [http://catchchallenger.first-world.info/wiki/Benchmark_for_conception#String catchchallenger wiki] - C++, QString benchmarks.
 
* [http://catchchallenger.first-world.info/wiki/Benchmark_for_conception#String catchchallenger wiki] - C++, QString benchmarks.
 
* [https://meetingcpp.com/tl_files/mcpp/2015/talks/Marc-Mutz-MC++15-Effective-Qt.pdf Effective Qt, Meeting C++ 2015] - tips for modern Qt regarding range-based for, QStrings, and the heap.
 
* [https://meetingcpp.com/tl_files/mcpp/2015/talks/Marc-Mutz-MC++15-Effective-Qt.pdf Effective Qt, Meeting C++ 2015] - tips for modern Qt regarding range-based for, QStrings, and the heap.
 +
* [https://medium.com/genymobile/how-c-lambda-expressions-can-improve-your-qt-code-8cd524f4ed9f How lambda's can improve your Qt code]
 
* https://github.com/AnthonyCalandra/modern-cpp-features/blob/master/README.md - modern C++ features
 
* https://github.com/AnthonyCalandra/modern-cpp-features/blob/master/README.md - modern C++ features
 
* https://marcmutz.wordpress.com/effective-qt/containers/ - Qt's vs standard C++ containers.
 
* https://marcmutz.wordpress.com/effective-qt/containers/ - Qt's vs standard C++ containers.

Revision as of 23:03, 7 June 2018

C++

Mudlet uses modern C++11 for the core functionality of the application.

For programming newbies:

  • C++ - covers everything C++ basics to advanced.

For experienced programmers:

  • Pointers - the core basics of C++. While you can by without needing to know the details, you'll find it really, really useful if you do.
  • C++11 - know how to make your life easier with modern C++11.

Good reading:

Random tips and tricks

Determine what auto resolves to with:

 template <typename T> struct watzattype;
 void TriggerUnit::doCleanup()
 {
     for(auto & trigger : mCleanupList)
     {
         watzattype<decltype(trigger)>{};

Compiler will error and tell you the type, TTrigger*& in this example.