Difference between revisions of "Relevant Developer Tutorials"
Jump to navigation
Jump to search
m (+1) |
(Layout) |
||
Line 3: | Line 3: | ||
Mudlet uses modern C++11 for the core functionality of the application. | Mudlet uses modern C++11 for the core functionality of the application. | ||
− | For programming newbies | + | == For programming newbies == |
* [https://www3.ntu.edu.sg/home/ehchua/programming/index.html#Cpp C++] - covers everything C++ basics to advanced. | * [https://www3.ntu.edu.sg/home/ehchua/programming/index.html#Cpp C++] - covers everything C++ basics to advanced. | ||
− | For experienced programmers | + | == For experienced programmers == |
* [https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp4_PointerReference.html#zz-1. 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. | * [https://www3.ntu.edu.sg/home/ehchua/programming/cpp/cp4_PointerReference.html#zz-1. 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. | ||
* [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. | ||
− | Helpful tools | + | == Helpful tools == |
* [https://www.sourcetrail.com/ Source Trail] - get quick overview of an unfamiliar codebase (like Mudlet, if you're just joining here) | * [https://www.sourcetrail.com/ Source Trail] - get quick overview of an unfamiliar codebase (like Mudlet, if you're just joining here) | ||
− | Good 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. |
Revision as of 15:06, 24 January 2019
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.
Helpful tools
- Source Trail - get quick overview of an unfamiliar codebase (like Mudlet, if you're just joining here)
Good reading
- catchchallenger wiki - C++, QString benchmarks.
- Effective Qt, Meeting C++ 2015 - tips for modern Qt regarding range-based for, QStrings, and the heap.
- How lambda's can improve your Qt code
- 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.
- http://theory.stanford.edu/~amitp/GameProgramming/ - A* tips and tricks.
- https://www.reddit.com/r/cpp/comments/7kurp6/recommended_c_tools_for_linux_profiler_static/ - useful C++ tools that can run on Linux.
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.