Difference between revisions of "Relevant Developer Tutorials"

From Mudlet
Jump to navigation Jump to search
(Prepared the page for translation)
(Marked this version for translation)
Line 4: Line 4:
 
{{TOC right}}
 
{{TOC right}}
 
<translate>
 
<translate>
= C++ =
+
= C++ = <!--T:1-->
  
 +
<!--T:2-->
 
Mudlet uses modern C++14 for the core functionality of the application.
 
Mudlet uses modern C++14 for the core functionality of the application.
  
  
== For programming newbies ==
+
== For programming newbies == <!--T:3-->
  
 +
<!--T:4-->
 
* [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 == <!--T:5-->
  
 +
<!--T:6-->
 
* [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 == <!--T:7-->
  
 +
<!--T:8-->
 
* [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)
 
* [https://www.draw.io/ draw.io] - Draw and share diagrams online
 
* [https://www.draw.io/ draw.io] - Draw and share diagrams online
Line 28: Line 32:
  
  
== Support tools ==
+
== Support tools == <!--T:9-->
  
 +
<!--T:10-->
 
* https://www.take-a-screenshot.org/ - for all OS, so users can show their problems with ease
 
* https://www.take-a-screenshot.org/ - for all OS, so users can show their problems with ease
  
  
== Good reading ==
+
== Good reading == <!--T:11-->
  
 +
<!--T:12-->
 
* [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.
Line 45: Line 51:
  
  
== Random tips and tricks ==
+
== Random tips and tricks == <!--T:13-->
  
 +
<!--T:14-->
 
Determine what auto resolves to with:
 
Determine what auto resolves to with:
  
   template <typename T> struct watzattype;
+
   <!--T:15-->
 +
template <typename T> struct watzattype;
 
   void TriggerUnit::doCleanup()
 
   void TriggerUnit::doCleanup()
 
   {
 
   {
Line 56: Line 64:
 
           watzattype<decltype(trigger)>{};
 
           watzattype<decltype(trigger)>{};
  
 +
<!--T:16-->
 
Compiler will error and tell you the type, TTrigger*& in this example.
 
Compiler will error and tell you the type, TTrigger*& in this example.
  
 +
<!--T:17-->
 
[[Category: Mudlet Developer Manual]]
 
[[Category: Mudlet Developer Manual]]
 
</translate>
 
</translate>

Revision as of 04:27, 18 March 2020

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎Türkçe • ‎français • ‎italiano • ‎polski • ‎suomi • ‎Ελληνικά • ‎русский • ‎العربية • ‎한국어

C++

Mudlet uses modern C++14 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


Support tools


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.