diff --git a/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md b/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md index 8995365aa..94798136e 100644 --- a/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md +++ b/src/data/roadmaps/cpp/content/100-introduction/100-what-is-cpp.md @@ -45,6 +45,8 @@ int main() { In the above program, we define a simple function `add` and a class `Calculator` with a member function `multiply`. The `main` function demonstrates how to use these to perform basic arithmetic. +Learn more from the following resources: + - [@video@C++ Tutorial for Beginners - Full Course](https://youtu.be/vLnPwxZdW4Y) - [@article@w3schools C++ tutorial](https://www.w3schools.com/cpp/) - [@article@Learn C++](https://www.learncpp.com/) diff --git a/src/data/roadmaps/cpp/content/100-introduction/index.md b/src/data/roadmaps/cpp/content/100-introduction/index.md index 0f6bfca86..0231d2e86 100644 --- a/src/data/roadmaps/cpp/content/100-introduction/index.md +++ b/src/data/roadmaps/cpp/content/100-introduction/index.md @@ -131,5 +131,7 @@ int main() { This basic introduction to C++ should provide you with a good foundation for further learning. Explore more topics such as classes, objects, inheritance, polymorphism, templates, and the Standard Template Library (STL) to deepen your understanding of C++ and start writing more advanced programs. +Learn more from the following resources: + - [@article@LearnC++](https://www.learncpp.com/) - [@video@C++ Full Course by freeCodeCamp](https://youtu.be/vLnPwxZdW4Y) diff --git a/src/data/roadmaps/cpp/content/101-setting-up/101-code-editors.md b/src/data/roadmaps/cpp/content/101-setting-up/101-code-editors.md index 7f8bf7df4..da1cf5be9 100644 --- a/src/data/roadmaps/cpp/content/101-setting-up/101-code-editors.md +++ b/src/data/roadmaps/cpp/content/101-setting-up/101-code-editors.md @@ -12,5 +12,7 @@ These are just a few examples, and there are many other code editors available, To work with C++ in your chosen code editor, you often need to install some additional tools and add-ons, such as compilers, linters, and debugger support. Make sure to follow the instructions provided in the editor's documentation to set up C++ correctly. +Learn more from the following resources: + - [@article@Using C++ on Linux in VSCode](https://code.visualstudio.com/docs/cpp/config-linux) - [@feed@Explore top posts about General Programming](https://app.daily.dev/tags/general-programming?ref=roadmapsh) diff --git a/src/data/roadmaps/cpp/content/102-basic-operations/102-loops.md b/src/data/roadmaps/cpp/content/102-basic-operations/102-loops.md index 3878b4459..3a794eec0 100644 --- a/src/data/roadmaps/cpp/content/102-basic-operations/102-loops.md +++ b/src/data/roadmaps/cpp/content/102-basic-operations/102-loops.md @@ -86,4 +86,6 @@ int main() { In summary, loops are an integral part of C++ programming that allow you to execute a block of code multiple times. The three types of loops in C++ are `for`, `while`, and `do-while`. Each type has its own specific use case and can be chosen depending on the desired behavior. +Learn more from the following resources: + - [@article@C++ For Loop](https://www.w3schools.com/cpp/cpp_for_loop.asp) \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/102-basic-operations/103-bitwise.md b/src/data/roadmaps/cpp/content/102-basic-operations/103-bitwise.md index 2a18ccde3..c8bb258cf 100644 --- a/src/data/roadmaps/cpp/content/102-basic-operations/103-bitwise.md +++ b/src/data/roadmaps/cpp/content/102-basic-operations/103-bitwise.md @@ -65,5 +65,8 @@ int result = 5 >> 1; // result will be 2 (0000 0101 >> 1 = 0000 0010) ``` These were the most common bitwise operations in C++. Remember to use them carefully and understand their behavior when applied to specific data types and scenarios. + +Learn more from the following resources: + - [@video@Intro to Binary and Bitwise Operators in C++](https://youtu.be/KXwRt7og0gI) - [@video@Bitwise AND (&), OR (|), XOR (^) and NOT (~) in C++](https://youtu.be/HoQhw6_1NAA) diff --git a/src/data/roadmaps/cpp/content/103-functions/100-lambda.md b/src/data/roadmaps/cpp/content/103-functions/100-lambda.md index 018166a95..69a03f86a 100644 --- a/src/data/roadmaps/cpp/content/103-functions/100-lambda.md +++ b/src/data/roadmaps/cpp/content/103-functions/100-lambda.md @@ -61,6 +61,8 @@ updateDays(30); // expiresInDays = 30 Note that, when using the capture by reference, any change made to the captured variable _inside_ the lambda function will affect its value in the surrounding scope. +Learn more from the following resources: + - [@video@Lambdas in C++](https://youtu.be/MH8mLFqj-n8) - [@article@Lambda Expressions](https://en.cppreference.com/w/cpp/language/lambda) - [@feed@Explore top posts about AWS Lambda](https://app.daily.dev/tags/aws-lambda?ref=roadmapsh) diff --git a/src/data/roadmaps/cpp/content/103-functions/index.md b/src/data/roadmaps/cpp/content/103-functions/index.md index 8aa3f705c..37ee71f76 100644 --- a/src/data/roadmaps/cpp/content/103-functions/index.md +++ b/src/data/roadmaps/cpp/content/103-functions/index.md @@ -73,4 +73,6 @@ int multiplyNumbers(int x, int y) { In this example, we use a function prototype for `multiplyNumbers()` before defining it. This way, we can call the function from the `main()` function even though it hasn't been defined yet in the code. +Learn more from the following resources: + - [@article@introduction to functions in c++](https://www.learncpp.com/cpp-tutorial/introduction-to-functions/) \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/104-data-types/100-static-typing.md b/src/data/roadmaps/cpp/content/104-data-types/100-static-typing.md index 67476befa..5df695ab0 100644 --- a/src/data/roadmaps/cpp/content/104-data-types/100-static-typing.md +++ b/src/data/roadmaps/cpp/content/104-data-types/100-static-typing.md @@ -26,5 +26,7 @@ int main() { In the code above, the variable `num` is statically typed as an `int`, `pi` is statically typed as a `double`, and `c` is statically typed as a `char`. If you attempt to assign the value of `pi` to `num`, the value `3.14159` will be converted to the integer `3` and assigned to `num`. Similarly, when the value of `num` is assigned to `c`, the compiler will convert the value `65` to its corresponding [ASCII](https://www.ascii-code.com) code, which is `A`. +Learn more from the following resources: + - [@article@Type-Coversion](https://www.programiz.com/cpp-programming/type-conversion) - [@article@Static Vs Dynamic](https://www.techtarget.com/searchapparchitecture/tip/Static-vs-dynamic-typing-The-details-and-differences) diff --git a/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/100-weak-ptr.md b/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/100-weak-ptr.md index 769feca4c..5f87a575c 100644 --- a/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/100-weak-ptr.md +++ b/src/data/roadmaps/cpp/content/105-pointers-and-references/smart-pointers/100-weak-ptr.md @@ -47,4 +47,6 @@ int main() { In this example, we create a `shared_ptr` named `shared` that manages a `MyClass` object. By assigning it to a `weak_ptr` named `weak`, we store a non-owning reference to the object. Inside the inner scope, we create a new `shared_ptr` named `sharedFromWeak` using `weak.lock()` to safely use the object. After the inner scope, the `MyClass` object is destroyed since `shared` goes out of scope, and any further attempt to create a `shared_ptr` from `weak` will fail as the object is already destroyed. +Learn more from the following resources: + - [@article@CPP Reference](https://en.cppreference.com/w/cpp/memory/weak_ptr) diff --git a/src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/index.md b/src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/index.md index 533be9e93..ac37160a0 100644 --- a/src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/index.md +++ b/src/data/roadmaps/cpp/content/109-language-concepts/101-type-casting/index.md @@ -43,4 +43,6 @@ Type casting is the process of converting a value from one data type to another. Remember to use the right type of casting based on the specific situation and follow good programming practices in order to ensure a safe and efficient code. +Learn more from the following resources: + - [@video@Casting in C++](https://youtu.be/pWZS1MtxI-A) \ No newline at end of file diff --git a/src/data/roadmaps/cpp/content/libraries/102-poco.md b/src/data/roadmaps/cpp/content/libraries/102-poco.md index cc209e077..147b0f541 100644 --- a/src/data/roadmaps/cpp/content/libraries/102-poco.md +++ b/src/data/roadmaps/cpp/content/libraries/102-poco.md @@ -70,4 +70,6 @@ int main() In the above example, Poco is used to send an HTTP GET request and process the response. It manages tasks like connecting to the server, handling exceptions, and managing HTTP headers. +Learn more from the following resources: + - [@article@Official Docs for Poco Library](https://docs.pocoproject.org/) \ No newline at end of file