jetbrains-academy / CppBasics

Learn fundamentals of C/C++ while developing simple arcade game
MIT License
3 stars 1 forks source link

Module4 STL #24

Closed boruno closed 3 months ago

boruno commented 9 months ago

Two tasks done, 8 in WIP state, will be ready soon.

boruno commented 6 months ago

A few thoughts:

  1. It seems to me that we need to introduce auto keyword somewhere in this course, because using iterators without it is painful, furthermore CLion and Clang-tidy warn that using pure iterator declarations is not a great practice. Right now I’ve inserted a brief explanation to «Iterator Introduction» task, but we can expand this topic in next module.
  2. I’ve tried to create a task for I/O lesson that will use file I/O for a long time, but we have a problem with .txt file visibility for compiler. I haven’t succeded adding properties to CMake, and two options I’ve came with are:
    1. Writing absolute path into solution, which breaks assumption that we have unified, executable on every machine master-solution.
    2. Changing run configurations, which is also not transferable to other machine. 
Are there any other I’ve missed? None of options above seem viable to me, so right now task lacks file I/O.
  3. I moved first iterator lesson to the beginning of the module, does the current order look good?
boruno commented 5 months ago

Last task of Templates module may be a bit controversial in terms of covered information, since I’ve included a brief explanation of type traits and variadic templates to it. I haven’t came up with anything else that could be presented in this lesson, other than basic template specialization idea. I don't mind deleting this part, but I thought it may be a nice sneak peek to metaprogramming and other high-level stuff.