From b86d375f621d56abfc9858587ae5f73f9782da44 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Fri, 9 Jan 2026 12:29:11 +0530 Subject: [PATCH 01/24] "Add virtual functions and dynamic binding with Entity-Player inheritance example" --- Virtual functions/Log.cpp | 50 ++++++++++++++++++++++++++++++++++++++ Virtual functions/main.cpp | 45 ++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 Virtual functions/Log.cpp create mode 100644 Virtual functions/main.cpp diff --git a/Virtual functions/Log.cpp b/Virtual functions/Log.cpp new file mode 100644 index 0000000..4bdae24 --- /dev/null +++ b/Virtual functions/Log.cpp @@ -0,0 +1,50 @@ +#include +#include + + class Entity + { + public : + virtual std::string GetName() { return "Entity"; }//getName is going to return string + + }; + + class Player : public Entity + { + private : + std::string m_Name;//stores a name + public : + Player(const std::string& name)//constructor allows to specify a name + : m_Name(name) {} + + std::string GetName() override { return m_Name; }//Mark the overriden function with keyword override and this helps the funtion came from the base class + }; + + void PrintName(Entity* entity) + { + std::cout << entity->GetName() << std::endl; + } + + +int main() +{ + + Entity* e = new Entity(); + PrintName(e); + //std::cout << e->GetName() <GetName() << std::endl; + + + //Entity* entity = p;//p is pointer to a player type but this is a instance in the player class + //std::cout << entity->GetName();//we expect player to be printed + + std::cin.get(); +} + +//v table contain a mapping for all the virtual functions in our base class so we can map it to correct overwritten function at runtime +//if i want to override a funtion you need to mark the base funtion in the base class as virtual +//virtual funtions need extra memory to store v table to dispatch to the right funtion includes member pointer in the base class +//and if we call virtual funtion we have to go through table to see which matches [additional performace penalty] ] \ No newline at end of file diff --git a/Virtual functions/main.cpp b/Virtual functions/main.cpp new file mode 100644 index 0000000..b33a416 --- /dev/null +++ b/Virtual functions/main.cpp @@ -0,0 +1,45 @@ +//binding means which functions to call +//if not virtual it is static binding : The compiler decides at compile time which function to call, based only on the type of the pointer/reference, not the actual object it points to. +//if it is virtual it is dynamic or runtime binding means the decision of which function to call happens at runtime, based on the actual type of the object. +//Made possible by virtual functions and the hidden vtable mechanism + +//virtual functions allows up to ovverride the methods in the sub classes +//if parent class has some virtual function then sub class can ovverride it to change the method + +#include +#include + + class Entity + { + public : + std::string GetName() { return "Entity"; }//getName is going to return string + + }; + + class Player : public Entity + { + private : + std::string m_Name;//stores a name + public : + Player(const std::string& name)//constructor allows to specify a name + : m_Name(name) {} + + std::string GetName() { return m_Name; }//return the name member + }; + + +int main() +{ + + Entity* e = new Entity(); + std::cout << e->GetName() <GetName() << std::endl; +//no need to bothering of objects as program terminates it anyway + + std::cin.get(); +} + +//everything goes bad whenever i start introduce polymorphism +//referring player like its not entity \ No newline at end of file From c891a23995a6f581c853fdc2a5c194385bddc0bd Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Fri, 9 Jan 2026 21:52:54 +0530 Subject: [PATCH 02/24] This is about Pure virtual funtions and so called interfaces in other languages --- Interfaces/main.cpp | 78 ++++++++++++++++++++++++++++++++++++++++++++ Interfaces/main.exe | Bin 0 -> 53063 bytes 2 files changed, 78 insertions(+) create mode 100644 Interfaces/main.cpp create mode 100644 Interfaces/main.exe diff --git a/Interfaces/main.cpp b/Interfaces/main.cpp new file mode 100644 index 0000000..b0b1fbd --- /dev/null +++ b/Interfaces/main.cpp @@ -0,0 +1,78 @@ +/*Pure virtual function in C++ is the key feature that lets you create interfaces (or abstract classes that behave like interfaces). +What is a Pure Virtual Function? +A pure virtual function is a virtual function that: + +Has = 0 at the end +Has no implementation in the base class (or sometimes just a dummy one) +Forces every derived (child) class to provide its own implementation +we cant instantiate the interface class [only sub classes we can and have to] +Interfaces are just classes in c++ with unimplemented methods acting as template of source unlike other languages as java or c#*/ + + +#include +#include + + class Printable + + { + public : + virtual std::string GetClassName() = 0;//now every class have to contain GetClassName function to implement + + }; + + class Entity : public Printable//made a sub class + { + public : + virtual std::string GetName() { return "Entity"; }//by removing body and equating to 0 makes a pure virtal funtion + std::string GetClassName() override { return "Entity"; } + + }; + + class Player : public Entity //no need of printable + { + private : + std::string m_Name; + public : + Player(const std::string& name) + : m_Name(name) {} + + std::string GetName() override { return m_Name; } + std::string GetClassName() override { return "Player"; } + }; + + void PrintName(Entity* entity) + { + std::cout << entity->GetName() << std::endl; + } + + class A : public Printable + { + public : + std::string GetClassName() override {return "A"; } + + }; + + + void Print(Printable* obj)//this is for printing names of class and type which has GetClassName funtion and make Printable a pointer +{ + std::cout << obj->GetClassName() << std::endl; +} +int main() +{ + + Entity* e = new Entity();//cant instantiate the Entity class if it is pure virtual funtion and we need to give a sub class where the funtion is implemented eg Player("") + // PrintName(e); + + + Player* p = new Player("Suhas"); + //PrintName(p); + + Print(e); + Print(p); + Print(new A());//it is a memory leak + + + + std::cin.get(); +} + //we can only instantiate the class if it actually has all those pure virtual functions implemented[all funtions implemented] \ No newline at end of file diff --git a/Interfaces/main.exe b/Interfaces/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..cd09c06b6ec7c7fcf37182d1534ecf24676bead3 GIT binary patch literal 53063 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 NFQ%!!Gu&S0{~Is<<~RTV literal 0 HcmV?d00001 From a8c7e64dab82dd18e69912336581cb8a3e55b358 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Fri, 9 Jan 2026 22:04:54 +0530 Subject: [PATCH 03/24] Add .gitignore to ignore exe files forever --- Visibility/.gitignore | Bin 0 -> 118 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Visibility/.gitignore diff --git a/Visibility/.gitignore b/Visibility/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..14419a10dce900ddf6a9a7cc91d43d8f80a073b8 GIT binary patch literal 118 zcmezWPm4j1A(f#5hf7(l#yh9rh8Bpyt>fFT7a1L7qylrm&8 Date: Sat, 10 Jan 2026 01:18:57 +0530 Subject: [PATCH 04/24] Contains public, private, protected --- Visibility/Log.cpp | 42 ++++++++++++++++++++++++++++++++++++++ Visibility/main.cpp | 49 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 Visibility/Log.cpp create mode 100644 Visibility/main.cpp diff --git a/Visibility/Log.cpp b/Visibility/Log.cpp new file mode 100644 index 0000000..2638ba5 --- /dev/null +++ b/Visibility/Log.cpp @@ -0,0 +1,42 @@ +#include +#include + +class Entity +{ + protected : + int X, Y; + + + void Print(){} + + +public : + Entity() + { + X = 0; + Print(); + } + +}; + +class Player : public Entity//Player is a subclass of Entity +{ + public : + Player() + { + X = 2; + Print(); + } +}; + +int main() +{ + Entity e; + e.X = 2; + e.Print();//its completly different funtion and is outside of class and not even part of sub class + + std::cin.get(); +} + +//protected means parent and sub classes along can acccess the symbols +//public means we know everything can access the subjects ina class diff --git a/Visibility/main.cpp b/Visibility/main.cpp new file mode 100644 index 0000000..3c00ef7 --- /dev/null +++ b/Visibility/main.cpp @@ -0,0 +1,49 @@ +/*Visibility in C++ refers to access specifiers — they control who can see and use (access) the members (variables, functions, etc.) of a class. +In simple words: +Visibility decides which parts of your class are public, private, or protected — i.e., who is allowed to touch them.*/ +//classes are generally private and structs are generally public +//this visibility has no affect on performance or running or the program and generation of code [not related with CPU] +//there are even called friends which can access the private + +#include +#include + +class Entity +{ + private : + int X, Y; + + + void Print(){} + + +public : + Entity() + { + X = 0;//constructor + Print(); + } + +}; + +class Player : public Entity//sub class of Entity +{ + public : + Player() + { + X = 2;// Even this constructor cant access the data cause it is private + Print(); + } +}; + +int main() +{ + Entity e; + e.X = 2;// we cant access the subjects from a priavte class + e.Print(); + + std::cin.get(); +} + +//protected is more visible than Private and less visible than public +//we keep classes public and private according to goal of not breaking the code [such as UIs]USER INTERFACE \ No newline at end of file From edd8567701c91ff72f149a2913f0a5e27fc12395 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Mon, 12 Jan 2026 20:27:13 +0530 Subject: [PATCH 05/24] About Heap allocated arrays and stack allocated ;also size of them --- Arrays/Heap.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++++++ Arrays/Heap.exe | Bin 0 -> 44312 bytes Arrays/Log.cpp | 23 ++++++++++++++++++++ Arrays/Log.exe | Bin 0 -> 44003 bytes Arrays/main.cpp | 27 +++++++++++++++++++++++ 5 files changed, 106 insertions(+) create mode 100644 Arrays/Heap.cpp create mode 100644 Arrays/Heap.exe create mode 100644 Arrays/Log.cpp create mode 100644 Arrays/Log.exe create mode 100644 Arrays/main.cpp diff --git a/Arrays/Heap.cpp b/Arrays/Heap.cpp new file mode 100644 index 0000000..5460ede --- /dev/null +++ b/Arrays/Heap.cpp @@ -0,0 +1,56 @@ +//there is no way of knowing the size of array in c++;but there is a way cause when you delete this heap memry compiler needs to know the size of array but its comprimising + +#include +#include + +class Entity +{ + public : + + static const int exampleSize = 5;//constexpr will explained later + int* example[exampleSize];//suppose we changed it to a heap we first get the Entity memory adress which leads to the array its a jumping across the memory so [better to switch it to stack] + + std::array another; + + Entity() + { + + + int a[5]; + + int count = sizeof(a) / sizeof(int);//size means bytes ,count means no of elements + + //example->size();//we cant do like this like some other languages for heap in Entity class + for(int i = 0; i < another.size(); i++) + example[i] = 2;//constructor which initializes + + } +}; + +int main() +{ + + Entity e; + + /*int example[5]; + for(int i = 0; i < 5; i++) + example[i] = 2;*///we moved into the Entity class + + + //int* another = new int[5]; + //for(int i = 0; i < 5; i++) + //another[i] = 2; + + + //delete[] another; + + + std::cin.get(); +} +//this is based on heap allocated memory with new keyword +//we need to manually delete this +//stack created it will ends when we get out of curly bracket int example[5] +//heap created more over the stack cause of the life times most probably suppose if we need to return the array inside of our funtion + +//in c++ 11 there is called standard array which has inbuilt datastructures used rather than the normal raw array +//it includes bounds checking and it keeps tracking size of arrray \ No newline at end of file diff --git a/Arrays/Heap.exe b/Arrays/Heap.exe new file mode 100644 index 0000000000000000000000000000000000000000..af48917136525f6859dc3c7d94a5922b857305a7 GIT binary patch literal 44312 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

U_XDBt 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 qjcry+^fZyL@9J|oiWb + +int main() +{ + int example[5]; + int* ptr = example; + + + for (int i = 0; i < 5; i++) + //example[i] = 2;//this is a text an offset to this memory of array + + + + example[2] = 5;//for index 2 its start at 9th byte we are writting an offset of 8 bytes from a pointer + *(ptr + 2) = 6;//we are dereferencing this pointer way of writting and changing value from 5 to 6 + *(int*)((char*)ptr + 8) = 6;//this is the way of writting in single bit[char] and even in int data type of 4 bytes + + + std::cin.get(); +} + +//arrays are always stored in rows ; each integer of 4 bytes total 20 bytes; +//array is just a pointer here it is a integer pointer \ No newline at end of file diff --git a/Arrays/Log.exe b/Arrays/Log.exe new file mode 100644 index 0000000000000000000000000000000000000000..4ca6081c8660b5fc03dd523289f1a2d242ab5315 GIT binary patch literal 44003 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 z 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 Qq}&P@?C-o(f1vTd0Z*Sjvj6}9 literal 0 HcmV?d00001 diff --git a/Arrays/main.cpp b/Arrays/main.cpp new file mode 100644 index 0000000..3e80083 --- /dev/null +++ b/Arrays/main.cpp @@ -0,0 +1,27 @@ +//in java we have no modifier = default modifier +//in c# we have such as internal[these are topics in visibility] +/*Arrays in C++ are a collection of multiple elements of the same type stored in contiguous memory locations (one after another).[in rows] +They are one of the most basic and important data structures in C++.*/ +//lua language starts from index 1;c++ is 0 +//its like having multiple variables in a single variable +//arrays mostly work with for loops[indexable loops];without it we need to set manually the example array + +#include + +int main() +{ + int example[5]; //array type and name mentioned its contain 5 integers + example[0] = 2; + example[4] = 4;//last index + + example[-1] = 5; + example[17] = 21;//we get memory access violation [in debug mode we get errors not in release mode] + + + std::cout << example[0] << std::endl;//with mentioning index, we get underlying data type + std::cout << example << std::endl;//actual array print memory adress cause its a pointer type + + + + std::cin.get(); +} From 84c5ae1f1285156e418b5b28398856de2ba12fd0 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Tue, 13 Jan 2026 11:52:34 +0530 Subject: [PATCH 06/24] raw strings and modern way of writting strings --- Arrays/Heap.cpp | 4 ++-- Arrays/Log.cpp | 2 +- Strings - working/Log.cpp | 37 +++++++++++++++++++++++++++++++++++++ Strings - working/main.cpp | 36 ++++++++++++++++++++++++++++++++++++ Strings - working/main.exe | Bin 0 -> 47069 bytes 5 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 Strings - working/Log.cpp create mode 100644 Strings - working/main.cpp create mode 100644 Strings - working/main.exe diff --git a/Arrays/Heap.cpp b/Arrays/Heap.cpp index 5460ede..9be34ee 100644 --- a/Arrays/Heap.cpp +++ b/Arrays/Heap.cpp @@ -7,10 +7,10 @@ class Entity { public : - static const int exampleSize = 5;//constexpr will explained later + static const int exampleSize = 5;//constexpr will explained later which is constant expression int* example[exampleSize];//suppose we changed it to a heap we first get the Entity memory adress which leads to the array its a jumping across the memory so [better to switch it to stack] - std::array another; + std::array another;//type and size Entity() { diff --git a/Arrays/Log.cpp b/Arrays/Log.cpp index af4a080..416b6d9 100644 --- a/Arrays/Log.cpp +++ b/Arrays/Log.cpp @@ -20,4 +20,4 @@ int main() } //arrays are always stored in rows ; each integer of 4 bytes total 20 bytes; -//array is just a pointer here it is a integer pointer \ No newline at end of file +//array is just a pointer here it is a int pointer \ No newline at end of file diff --git a/Strings - working/Log.cpp b/Strings - working/Log.cpp new file mode 100644 index 0000000..8756b60 --- /dev/null +++ b/Strings - working/Log.cpp @@ -0,0 +1,37 @@ +#include +#include + +void PrintString(const std::string& string)//creating copy of that std::string class + +{ + // string += "h"; by removing the const and the refernce keywords and its just a read only function + std::cout << string << std::endl; + +} + +int main() +{ + std::string name = "Suhas";// + "hello!";process of appending strings + name += "hello!"; + + std::string name = std::string("Suhas") + "hello"; + PrintString(name); + bool contains = name.find("no") != std::string::npos;//to find text in our string + + /*npos is the illegal position for that find + and name.find returns position of that no thing*/ + + + name.size(); + + /*strlen(s) for the length of the string char* s + and strcpy for copying of the strings*/ + + + + std::cout << name << std::endl; + + std::cin.get(); + +} /* string copying in funtions are quite slow + strings can be addable than char ptrs */ \ No newline at end of file diff --git a/Strings - working/main.cpp b/Strings - working/main.cpp new file mode 100644 index 0000000..4679cfd --- /dev/null +++ b/Strings - working/main.cpp @@ -0,0 +1,36 @@ +#include +#include + +int main() +{ + std::string name = "Suhas"; + + /*char pointer[c style of defining] and we keep it const + cause to make string immutable; + will changes to std::string by + using header file of string*/ + + char name2[6] = { 'S', 'u', 'h', 'a', 's', 0 }; + + /*0 or '\0' is the null termination character + string terminates after hitting 0; without it + the string goes outside of allocated memory*/ + + + std::cout << name2 << std::endl; + + + name[2] = 'a'; + + std::cin.get(); + +} + /*Its just the array of chars + char is of 1 byte of memory and + string generally uses char ; + wide strings are 2 bytes per character + std::string is templated version of basic + string class which is templated with char */ + +//char is underlying datatype for each chartacter in std::string +//string has a constructor takes char or const char ptr \ No newline at end of file diff --git a/Strings - working/main.exe b/Strings - working/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..b79fd313b063bcce37a704923e24deadeaf0c173 GIT binary patch literal 47069 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 literal 0 HcmV?d00001 From 7f9c4775b953cfda0fb07ecc7a8817b5b855b42a Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Tue, 27 Jan 2026 20:10:57 +0530 Subject: [PATCH 07/24] Demonstrating why string literals (char*) are immutable and how char[] differs,and exploring types of strings based on sizes and their writting style --- Arrays/Heap.cpp | 2 +- String - Literals/Log.cpp | 42 +++++++++++++++++++++++++++++++++++++ String - Literals/main.cpp | 20 ++++++++++++++++++ String - Literals/main.exe | Bin 0 -> 44861 bytes 4 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 String - Literals/Log.cpp create mode 100644 String - Literals/main.cpp create mode 100644 String - Literals/main.exe diff --git a/Arrays/Heap.cpp b/Arrays/Heap.cpp index 9be34ee..2dfc0de 100644 --- a/Arrays/Heap.cpp +++ b/Arrays/Heap.cpp @@ -1,4 +1,4 @@ -//there is no way of knowing the size of array in c++;but there is a way cause when you delete this heap memry compiler needs to know the size of array but its comprimising +//there is no way of knowing the size of array in c++;but there is a way cause when you delete this heap memory compiler needs to know the size of array but its comprimising #include #include diff --git a/String - Literals/Log.cpp b/String - Literals/Log.cpp new file mode 100644 index 0000000..601ab17 --- /dev/null +++ b/String - Literals/Log.cpp @@ -0,0 +1,42 @@ +#include +#include + +#include + +int main() +{ + + using namespace std::string_literals;//gives no of funtions for convenience + + std::string name0 = std::string("Cherno") + "hello!";//cant do cause you cant add 2 raw literals directly + std::string name0 = "Cherno"s + "hello!";//this s returns a standard string and u8 for normal string and L infront of the string literals for wide string + + + std::u32string name0 = U"Cherno"s + U" hello";//for wide string it is wstring and R for row + + const char* example = R"(Line1 + Line2 + Line3 + Line4)"; + + const char* ex = "Line1\n" + "Line2\n" + "Line3\n"; + + + + const char* name = u8"Cherno";//made with utf 8 similar to remaining ones [ unicode transformation format ] + const wchar_t* name2 = L"Cherno";//wide and this is 2 bytes per character[but variable for such as linux and windows] + + const char16_t* name3 = u"Cherno";//2 bytes per character or 16 bits a character using string + const char32_t* name4 = U"Cherno";//32 bits character or 4 bytes per character + + + + std::cin.get(); +} + +/*string literals are always stored in read only memory + so i cant equate a char pointer to a string litreral + which is a READ ONLY MEMORY + we can use a const char array */ \ No newline at end of file diff --git a/String - Literals/main.cpp b/String - Literals/main.cpp new file mode 100644 index 0000000..9ebf11f --- /dev/null +++ b/String - Literals/main.cpp @@ -0,0 +1,20 @@ +#include +#include + +#include +#include + + /*just a standard c library include 3 funtions and + its a string literal also written as + "Suhas"; 0[this is numeric zero]*/ + +int main() +{ + const char name[8] = "Che\0rno"; + + /*8 cause it even ends with \0*/ + + std::cout << strlen(name) << std::endl; + + std::cin.get(); +} \ No newline at end of file diff --git a/String - Literals/main.exe b/String - Literals/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..c01c629026083cbff526e8e73530af68994141ab GIT binary patch literal 44861 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 VlxSaKgpbko9ygru+R+{>{U7AlBE$dy literal 0 HcmV?d00001 From d1715a88dd84ef2f37fdf5dbb61cb12d35e902bb Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Wed, 28 Jan 2026 00:09:54 +0530 Subject: [PATCH 08/24] This is about const keyword in various situations [pointers and refernces ] --- const -- types/Log.cpp | 74 ++++++++++++++++++++++++++++++++++++++++ const -- types/main.cpp | 29 ++++++++++++++++ const -- types/main.exe | Bin 0 -> 45018 bytes 3 files changed, 103 insertions(+) create mode 100644 const -- types/Log.cpp create mode 100644 const -- types/main.cpp create mode 100644 const -- types/main.exe diff --git a/const -- types/Log.cpp b/const -- types/Log.cpp new file mode 100644 index 0000000..06ac31f --- /dev/null +++ b/const -- types/Log.cpp @@ -0,0 +1,74 @@ +#include +#include + +class Entity +{ + private : + int m_X, m_Y; + mutable int var; + public : + //const int* const GetX() const //[means cant change the content and cant reassign pointer also cant change member variables of the class through methods] + int GetX() const + { + + var = 2;//suppose it needa to modify keep mutable in front of the variable + return m_X; + } + + int GetX() + { + return m_X; + } + + /*keeping const after method in class means + this method cannot modify actual class and its + belonged variables makes just a + read only method*/ + + void SetX(int x)// const makes no sense its setting + { + m_X = x; + } + +}; + + void PrintEntity(const Entity& e)//pass it by conast refernece to avoid copying [just a read only memory] + { + /* e = nullptr; + e = Entity(); + + its not like pointers + reassigning this object means changing its own + no separation between pointer and contents of the pointer + cause you are the contents in ref + you are the entity though you are a ref + and GetX funtion need to be const otherwise it violates const Entity */ + + std::cout << e.GetX() << std::endl; + + } + + + int main() + { + + Entity e; + const int MAX_AGE = 90; + + const int* const a = new int; + + *a = 2; + a = (int*)&MAX_AGE; + a = nullptr; + + + std::cout << *a << std::endl; + + std::cin.get(); + + + + } + + +//int* m_X, *m_Y //its like both considering pointers \ No newline at end of file diff --git a/const -- types/main.cpp b/const -- types/main.cpp new file mode 100644 index 0000000..ed5e4c7 --- /dev/null +++ b/const -- types/main.cpp @@ -0,0 +1,29 @@ +#include +#include + +int main() +{ + const int MAX_AGE = 5;//this integer is a constant you cannot change it! + + int* a = new int; //created on heap tO acquire a pointer + + *a = 2; + a = (int*)&MAX_AGE; + + int const* a = new int;//contents cant be changed '*a' + const int* a = new int;//same as the above + + int*const a = new int;//cant reassign the pointer 'a' + const int*const a = new int;//contents and assigning of pointer cant be changed + + + + /*dereferencing and equating to 2 [contents] + reassigning pointer to some other memory adress*/ + + std::cout << *a << std::endl;//reading 'a' is fine + + + + std::cin.get(); +} \ No newline at end of file diff --git a/const -- types/main.exe b/const -- types/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..6918168fd699a7f20062a6fe5469aea82e6ae385 GIT binary patch literal 45018 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

a{j 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 o9P<@#Z3asL3A^r4L<0LUzvf~ZIw*R#GS Date: Wed, 28 Jan 2026 01:05:32 +0530 Subject: [PATCH 09/24] This is regarding usage of mutable keyword in const class methods and lambas --- Mutable--keyword/Lambda.cpp | 47 +++++++++++++++++++++++++++++++++++++ Mutable--keyword/main.cpp | 31 ++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 Mutable--keyword/Lambda.cpp create mode 100644 Mutable--keyword/main.cpp diff --git a/Mutable--keyword/Lambda.cpp b/Mutable--keyword/Lambda.cpp new file mode 100644 index 0000000..0994b4b --- /dev/null +++ b/Mutable--keyword/Lambda.cpp @@ -0,0 +1,47 @@ +#include +#include + +class Entity +{ + private : + std::string m_Name; + mutable int m_DebugCount = 0; + + public : + const std::string& GetName() const + { + m_DebugCount++; + return m_Name; + } + +}; + +int main() +{ + + class Entity e ; + e.GetName(); + + int x = 8; + auto f = [=]() mutable + //we can write &x or x or = or & + { + //std::cout << "Hello" << std::endl; + //x++;//by value = we get error we need to get it through local variable so better to use mutable keyword + + /* int y = x; + y++; + std::cout << y << std::endl;*/ + + x++;//we passed it through value through mutable keyword + std::cout << x << std::endl; + + }; + + f(); + //x = 8 cause we pased through value than reference + std::cin.get(); +} + /*lambda is a little through away funtion + you can write and + assign it to the variable quickly */ diff --git a/Mutable--keyword/main.cpp b/Mutable--keyword/main.cpp new file mode 100644 index 0000000..646d9ac --- /dev/null +++ b/Mutable--keyword/main.cpp @@ -0,0 +1,31 @@ +/*the application of mutable mostly with lambdas and const + its like mutable reversing the meaning of const*/ + +#include +#include + +class Entity +{ + private : + std::string m_Name; + mutable int m_DebugCount = 0; + + public : + const std::string& GetName() const//const and ref + //making methods const so not to modify the class + + { + m_DebugCount++;//its for supppose how many times we debugging + return m_Name; + } + +}; + +int main() +{ + + class Entity e ; + e.GetName();//we will do if the method is const + + std::cin.get(); +} From 11e6383e297c2e973bd916622ff11cba1f6853a7 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Thu, 29 Jan 2026 00:16:11 +0530 Subject: [PATCH 10/24] These are the member initialiser lists not only used for the syntax also for the performance of not creating other non wanted object classes --- Member initialiser lists/Log.cpp | 69 ++++++++++++++++++++++++++++++ Member initialiser lists/Log.exe | Bin 0 -> 47974 bytes Member initialiser lists/main.cpp | 39 +++++++++++++++++ Member initialiser lists/main.exe | Bin 0 -> 49079 bytes 4 files changed, 108 insertions(+) create mode 100644 Member initialiser lists/Log.cpp create mode 100644 Member initialiser lists/Log.exe create mode 100644 Member initialiser lists/main.cpp create mode 100644 Member initialiser lists/main.exe diff --git a/Member initialiser lists/Log.cpp b/Member initialiser lists/Log.cpp new file mode 100644 index 0000000..28c758f --- /dev/null +++ b/Member initialiser lists/Log.cpp @@ -0,0 +1,69 @@ +#include +#include + +class Example +{ + public : + Example() + { + std::cout << "Created Entity!" << std::endl; + + } + + Example(int x) + { + + std::cout << "Created Entity with " << x << "!" << std::endl; + + } + +}; + +class Entity +{ + //This is through member initializer list!! + private : + std::string m_Name; + Example m_Example;//created an Entity! like it is in Entity class + + + //int m_Score; + //int x, y, z; + + public : + + Entity() + : m_Example(Example(8)) //we can also use only 8 inside + //: x(0), y(0), z(0)//,m_Score(0) //Initialiser list need to list in order of class members declared!! + { + //m_Name = "Unknown";//ThiS m_Name object constructed twice [default constrfuctor and with unknown parameter] + + m_Name = std::string("Unknown"); + //m_Example = Example(8); + + } + + Entity(const std::string& name) //constructor + : m_Name(name) + { + } + const std::string& GetName() const { + return m_Name; + } + +}; + +int main() +{ + + Entity e0; + //std::cout << e0.GetName() << std::endl; + + /*Entity e1("Cherno"); + std::cout << e1.GetName() << std::endl;*/ + + std::cin.get(); +} + + //this keeps code in the constructor a lot cleaner !! + //but there is funtional differnce specifically applied to classes \ No newline at end of file diff --git a/Member initialiser lists/Log.exe b/Member initialiser lists/Log.exe new file mode 100644 index 0000000000000000000000000000000000000000..cd8e18da5a225e38e60ea6d7dac3dd1e43b8d150 GIT binary patch literal 47974 zcmeIb4PaH(l`p>UN0JK(xd{Y~8uem>fnmtx#ymo z#5%rt@BiNXd*I~kz4qE`t-bczYp=b}x#yJMv7Ol%V|JY3Fk^dhrNhnte)gX(6enK& zqeS-Hl%LJoYbpELteW*rov!wdwsjqKEw1{y*48%JwbtkA@VB~}T3v;eURO(7gD+#+ zw5jPT=_(InWtM4d>&p9^*e1sQ+RE4|7H5gKSkqVrkScHzY&xzUPtwpUdfwP3s{r{)VxrsASK_9CUs{Mf}OWpm0;vc0Bu)wpuwCfooLP$&;c58 z3;ouqN%5Oc1xFQ=b9{X++I%QH^0KjvEBOVr>|asVD__f0`D>Nmcmrorc6L{}NlR&H z1nGh6g-lFk93BpwNuYF+n}t%TVQ1{2%s9q&I^1ri*waH^NEUhs-ePBZJ13PNyfW=! zH`|p!2vBCQAc^n-kb|QLSSG>RjIb(#-3eIeA^Zu>#x9>+}^_UdAzTHjwVqpWam+Kx(`iUEzl!Q6rEuy52MrH5xa(7ezKMtzEM(wtiUEn|6jb~bADZqW1}o}G^T z_Q-+$SdI=!B3)O3{INM)*JMIJ08tf;)_qG9>}nU{+h+iqS}WiVWssUUR|P)8ksZ4j zn$~kpPNp&kRkWw?UE^lq*LJ2-NxytEAbF@1TBY&*5x6pWCe^4UYS3?vpr#z?IVw*< z1*#i9ibQ4#YF-W#?)8n`dDrRzG;=71csgde**=CpqgzL(McPUUv^Q`jbtf0BpHt%k z4ez9OL7;eI_#TED4DRItj_-vL1kPlJ@?zm73e!`R{h>ri^us++Wau=cRe|3Ia4$(e zdZ{v?!W6)i<3zI_))ZX*$;$&=0>=+s;1_BHwhBoNY<5`uS8v^%Kw*sk5`j<-1T^$n zYG@XEcDsg6`XNLVl5vE{Rgk>l+5Hbw|AuG3s9yJ~*Jsr0ZuR=KdflO3pH#0;sMp8T z>vr|}sCwO|Uc31ftyw_^RCX?g?AYq;e%}glz71!p_zt4s%3x^6Y|;@+-XF5>KV=Wq z!9UDBIOHMKu_4bfxNUhnMo^TajIo+(Hu`;VM=cK-^ZS&jq_SO)XM ztCqat|0uBe7^=JsgxwZr&wgA%UwI|qKXwgq$?Atp05W3d{|31+8W?{^WQK)5*N7eP zf3(DN*!l22pa*M*dyYDL{*98Jle=iZ2R)~Dk>3dV4)*#!yz?#z#>(e|u8XUnGA{fU zXZL=dxYK{T(5B1T^L^sp-@7UNLy|*Y*!$qk7G+o;&w+l+pc{=D^MBO+vOl@E%Capr ztAFH|WGf`Ea-cWgGHBg0`WwLyv~tl&H2w2(P5ul1kAj|KJ^lVgJ3ra#W`P_`k1v5E z*_j(xB_UlY?+-0aCvluTF8~xQ?+=`x;_N07dskStT@Ajg!Iz8c?5^O=KNdK@#rfEN z)cI!rl>H-1VWvXq)cX*A(umJJt6e zyH0r}(n}-%@h7-~+bn~YYjoI80oys}VW^&+vzNFr>4V3T&4)YuLC-MS+p1jP$RNi? z{vODKXpQGM+U+0^dF7zz5H9wh=P(WA`%{6KuIV>)#RYOdYL^o4>vZ0gM9#VjZ5Sye z(P$d<93PA$t?JZQA5vC<`sTw*Zh9yU)Zs8LsDmMJ$il6E#E$yBgP=#D(kc6u;SmSq zP+lL&qsx(z`9K1&lP*U_4wH;eKDkmkfRN9{s=oc?%5P^4{}ZL1-6Lq5H>=XSS{PJf14CeeEj7LBT;j3CQA^k>?e0l3d!t-Cn$y$j+5>MJG={mQc zOXS`)2P0@NXm>fET1uAh;$O++;Z}a@9 z#s48qLYKoge{&3WeK7UTfvgjwR(SscOE9H}uzHUA&yK#VkJp{^AP~66K_;R<6hi>g z{pe#PqKIeH17kKh1!zgUTPP$=5aTsi!y^QH5J9g}lkOmkEI~`7@Wen@<1O;dDS@Ty z!NiI>>GIT}7@h&gz?fB@jzCzxC2%l>6S(s(@Y$EL-OaZCj{XKdwLSDs)`?(%G7!g# zxNN|_H28A!kyA%laeE>#x8RW_8*ZYFn%jJU>OCVtAaTmPGm2M<4 z`$E<88@C5-L?{sj0AVi4MG761fT+R|EU+ut>EYqvosOOp{$FZT&R@-uA>o~O4J`L& zouhcO5JXWg2~g!M;97i7Vq<2G%%g><+|#cN$a&NVm84=rCS578hdx5_PE|mKORAw1 zI6_^5v2s?h-Umk$9{svHajE@5_QZt=u1a@7ASbLQtN%`29#s{Of>v;*ri!ETr9tbG z0sqv|ilAf3ujIMPfndG^)&HP1+Aesj)O33bmN=AKxs|NN%2C694Qc3ebQn~25ff#2 z^n{oX_<9QVXOW9LE`=HTr)awKX*M>XLDupFaQ&xM%0n@vXgWeiRUR*^*m8;}BqNDX zqV)*x`Z5*!MCg5ZFN_6MZJ`sCeVj~%AKYGcrakQDKJ-%1(hRRxPEQB5ZB=g8yV4Dp znh;ut#S(R+B4ePWrIQm6*#HYQ;*T)P+7-&rmwS}~cnWfp zy8#BdoWL0TOJL0IzeafwgynQQ1;THmR^VWnnA;=qHt;ihn_)>H>n5_z=?Q!?0V@TT zJ&%)5!m!SXB8HKj7WxJV0-hGQ;FiA=xL}ue^0o*9G{!Qc3B5z?&%nNg1ZcklJnhsJ zXk`bq66(iW~kmcTofNPjr@C1KS! zxBCP}+=VT&8zE!Q%l@kZ7p|8J0~cvdz8vz3o={66Ne@ANuD<)Cs&&)=_16AnWMpj}7w`n!O6L4Pp)n zx)XX=T6*o@Mh(6$WtZW)Unz3z#Wn;?U%sa2g!0Bv5p^4TXom2o?^}AXRD~^KQTG9< zhh`<+KVv>L@Pj`ZA|IFQ+?PsT0EXfUTwJaE+Sy%4!|39CXZK1Zg0ME_(8t5*f;rrq z&ZQW2-sm*tcQ?rCX_y|@JNLbTn!Otl$zQHj#oibV+iqGD1uiadcGIX2&>G}plsNk? zQGTs_{4rc6b3@*LQ|6^_t4U7}y#`0C48rB4kfLDF`W6YX5gE_aJufW=;SzyEjGXu%XrYqG}eUtX1-CRaN5 zNhIOO-@-L1E&+DC+)AL(-{*sHzpPb#xKphI&9QL0^Z-x>sL1SLh6!hs#DCni0-}-+sUO~?8 zTvUXZi9$*5kG#g)AKl*Hi1v=YN*%B5@2yZ?BKw`!b#n%6H^tcp-+dGM4=hu9@3-s^ z#RSgMURSDf-;v&p;a(5MhqJqhY~(yv^S_0%yUyP!{C(H?>*c%70oNi=!RU8(XOJPh zgx(2v!-yY2?qiT8GjaADpl(V@=TqmkXctZ3gP}B}(6+R>gP6Oz1B5d?_jusoJhi`_ zeYF;4pzFf*{vhC@(|1$VsdJ23u#>r@cXm8g;VJ81rIj?-691mf) z1`A$)NTcZ7w<1gpx=8KVY?&pmfiJXFL0BfM1fk z#s53>_!MVffdwU_Z_%H3dhfA}WP$VE)o9De9?;1;G4hYN?7f8m|3IlbDfLaHdRN=P z#Wwn+aC0k`D}!+Lh*X043ATKDuf2y>!Y~LsVo?P{_^)TcMfJPzoHq_gO4Q zEEkjq5bbXpvTp}E0<9!IWCxJo?vEyMGD9tvOW|w0n9v!>i8urV?eJBz_?#}sDIbJ> zfdUHKmVupc%Dn$kayv>!UsLrj_P3OQz?o*HcDULAeQ`sfr~J;#(m+G7w~V4)|@Q@>%?%h~f=E6jEC zuyR(p5PA!QXnK4d^9it(3tg{vfkd$UpmH|UK;nB22g?s51@dLNtK^wM z|FNHBBTC}&$REGs?2gCX5Nsci1k)jj<@k~TXP^=L=@_3~=ND`%-{tJCM7HbvDu4Qj z2Pw7v&b|_CDFDUUeNQYecXqEuqPHr%)m$^TaGT?xVRVcPI{Bb3F5lmBPV=aoXy;%-RG2{(Ugz_67}>WBwuEK=o*AE>B>)O z$b=y+jZ6QVp+wGzV{Ca-If4l6WDu1-&mkVA)pO`0u2N?=-M$UhKBu%hhTLF-wFmvd zE{OB%$7#$I*hfA>AET$?yXm$>(6<}=YT5=`<95Z@Ps(ZmJzYr)J|bl+Z}LGkgbgur zPg~?Uxev&d@%ZT!~?}P z<&D6QZM0X+Kl?2&kZJ}!$1J16joY_@-5|Ke28OI74h;I-dDy51f-**1&1fb<(h^J8 z#VyXBs{!cRWM%&8BRweM^eEny?^pIa`);@P=2?L!pXs{zfP7!q#m)ZO!0#;nAEP>k zv1K%l~kLBgw#l>PL#mdyS3u(CB}c`g=1*w%*^j{1HyO_87eA zgBTU(M=#aKFC>F}5H2q)Cy`g#;y>f;%O~LIJ2bfON#tYVLudEnSUC089uFySuMlix z7*Z>TMm~iM=RCtn&Ym}*FJ<+iLC>yLL!PIhF*eePF;7(dxJMDJ-HWA1e6ZFL^z04o z0+rzA7kee#Sp0-Uo(_?N#ddN*(?KY(`7pLjl+`beR1*#D{$H@%K@Pef#Dl&)Bb!kM z=610GE9fa>!guY*Na6&s*#j5owqvV}82uB$Z3r@c4>zff9P*K#7pXKzrM}%GeTXn< zJONt!T(GtuG%^Y9E8<~eca25_4CObhzsXeUxd}J+&w&7PX%cBP%LF(2f^|r8}>Hu0#jR=SR@1X#r!6hh++y*e+59Tby z9ePxUt&uK6Hk6{92jrx+N}y2<=RXj-2K^4c7wvI$XLCC`1w?lPwu@)5KS{Ky0u`)40fi45pN*79Z~OzU!9`SqCQRil zEm;-cNsT9bHEIw$KIU(yS_g3Bb-Eg}gnrAXQTPO4a@U%h&M_ANGwWr=a~w{+QAsFv zJ|CxSKHaEz-rjI^V_*!iUmA3R6!r$o-T8c#wYS8IeKUD6U<>^3I-gHg4)J6Hf;8vzNtBj9qzdxy2rrT9AW-JD z{I4wWpLRan3oe``m+CF}T_M%$NCo|;e@IWEDQ6p%M3Brn+NdOHy20iusT0L4G{)ms z3!J0c7qzEJ>z5(w4c49(Ju*lY03{C^8bXDU1E?DGogBFw<63WDZ_%eqJg1!j+MGe4 z_^C3;n-Sv8cpH04=NpwOwC++4PA0Ikhi;Up@pWK73N55$YWf(Ot{j>>78r|he*H~q z%X#Psx|jt#qR^<^_NlzKF_5#0HnCQ44V?vo|38AB<5}k#l`Jkdj8IJ6p#+GIZ97=0 zY#+488qCUtGBT?YT+uS}2)H#uHg#5X$10h3inHgw$gnhb)yOIo@;>=;vDMi_`>~CI zEq3PYIfZ1j8SkMm9{i3|#O`;D1{;^GKn{dKX)qnh zfZCls|3ZJCFMqo+aDIV26@Q`4$2HiJ5>QikuF6i@a&|v}9M^gGy+|o%NAAXj_8ql@ z_8qsLsi6+3Nv8*f$SOkTAYtGPcCW+ApnL}&K3JB}s1(Fz^^d}k3t};8HZHYes33U+ z-Hv#>(4LDq!{R>`EKE;IUl|xn+K@6-;7COuZaqlk`CTW(w*`)!v zDK`GwFgkQ!pxyI~WWQ*+ck7vXXl<}N-Hi+R zk^rvorg$Cz2{VpB>_dFg1vsK$xjg6y^xJ#C5&rbkPd`2~>y@oA>u`!mG;75EWi zKf0cB7aNt7IJ)Ct?|qodaCFx2Y%aq4|3nh_WA}%W0t1+I+5W%@+uV!2fiw~c9_J_M zH0l#)cQ+{Y?oI_9vne0KxPL?Yb&moCQ)DRQ#b6?Pe1sklmOJ;-W$2L<{H23D6t$$t zzV#p}Qys{S+xNepM5Biudf@T6nx_DZ=R*&GLDo6deh!41ksaa>)sFsqNK(tV)qMwX zMAo^`6@ZQYk4Surtv*L^ReBQkZEwJBVz9<$2-@^Flzb>T7$7;Zm~MdhSY}%l?7cbe z90=JtAI!0M;&Swi?oUB474%%7m#$WZqFRAXw}ks;CpnPEL6f%9albu8tEC}Eg!ZD1 z;n5MJeMQlmsnfekqvuZw-5(*q3HAo47a;N52)#(*yan<*L%eaMWsaupui@4pjd(~l zHP}UM4jfDv2wfYYDTI1IqAz~`65&ibZ{)d6mDHXU5FA0oO@S9kTVekdqw_TS5e0q; z@gca(5K4xnioS zQoYuw*DCc|rd~_bYoU5|tJhrhnxkGb)$2U<>Qb+%>NQEdCa71tdS&W$Y^#v>w0b?I zUQepm*qh6m;ue;Uj)9Q7HdOfRN&+sea zNSIooQhtoqwEIKP9H)iAu|R(+q7DaxMePqgh6}8?*YhzlF94y}bF#PgW14Y*^k9{n zkRAY>#+2t+Z|zCi&)y%Z;vm#JiOe!yk0{)W)Mz>$HsSQ@DThZ-1pC>@iRTVS-+>_X z+@bdDqf-81(DNbcTY!V-303$Uz$pgxK@3Rq9JC*L{&i3}AR-CnNGOCX^#y6!TRJ zD~Y*}Jz>Fo1xUh7T(6E<3?Si5c3?0wxR)?fHwFhf^!0Q&(B&c>fX9Rs#a?kG}m=@ z`Z}Sjf(~Du>}zm&TIDABKG()3dA*CxVzsUJw6<+*Wv(mSth}jp-9{IFC?q$v_*{*3 zP0jue-_28*%eB0zL-yA--{$vq+{X(*sIjfXHM_yJ_CDFy>8g`mbqx(2zRph9>~`uI zmrJGWYVY*<8`@kQzUH?2I=QK>m42Kgx7D{byEgbbItehlAp>jE&#beyNp^KM-S5+I zGuXQ3wzbe!=KK~C`^JUDm6lG7WnRr#aY4b&t~tdOwR2sIGj7btB>3bow7hslMq9@^ z7jWkD3iGofH7Bq4dFlTJZ+u@+f6#$gfj##yV=I@U|B>E<^aCj(jqLv~4m6h^miw!j zj^Akj|G&9G*i?SSK!GN(tdE}RdJgFOb=Ho$mHjx^!z#@QVO zn@sLGz$3ZW1NSXlBeHoOu?6hb15*d`2J>D*BMaj>UI|d<{aZN9N3Yh7y9t4@$#@Wb zIvpp&;aXfHJgk+xB9+l$xxcE6Yc-A~VS;CxZqrdlXTpha_$gfNhcM}CyrDzu|9EMD z1o(6O+fkpE7LmHuLhjGYzX3X`CjM_k@h=Ad;?Ku_1L{wY=3k-n&jp zI2=c|zBYqmadAPEQ#H3ZQc^8t|I6ncr2v?Ff zV8uYXdupO14+Qh#xoxjR(VXX1T_8OfAL7AJ;1(cFW3m=QvLt>DxQU-}=Hgn0@&J{C z-y_z%#Dstim<>}C6N(1Fcrejk5Wn7#6Ju->s_Z~rQY{^m$w6bEujA7b%R|yBl@kZlmjZ5?y7Gsz608jqglMD?tl64G&5*B2XKn zcJ9D=7IeOaYectI&@D*VOXGzg>x2j@bXoizJkQ8aoWfbPHynN(SJGu2beR|5#1U2_ zolhhHpG*&=13I4pja!L^LEnru07P=0MEO~@yodVZtLTrUN9=itDS?>c#5F4uYYGzA zG)+xRK?{@6KM8q5P}fW3Y#S1*P-ZRSmx2jUpbWCHr*Ss?FdY6V+3($nj;|7*M{IeC zNdbF7Vy5-tgZE`Yuq%lOc^%!V>NY07(JK_yZmS?996b$AGx1SeptFjtp zn~bhorJMV+a2QXhMeDC5@szbH@i?6IDXTTwD;30-M)|0`_%c*mgYyt*JcVmi9~fv9 zN7X8chapD%TweU0dWP$956H}UH5`5(`WJ2GJ_BP}^%+Hp{Z?D~#72%PE}S3YeER3c zc_-;!ecmD4p^ds>;N&AseE8h7oV&c+bWFrYC@uu4E*%r zaQHgHhv|YKO?TW^k|QDZUww|E2s7g5i{mTw453cek7OHk9y=Ni(?+Jy8SI0{ z0R;HVF_{K7b?GG~+c2kY#U4-;Yz<&%02_{iod#?Suri$5@d;q^!-(smU{wlY1i&Ub z4gr1&=NQh|0Atf}rsK@UnUAvuX9LbnIKPJTJ2>~@d==*zoELB=bPLL9xL&KK7vh?a zvl{1Gob5Ot#`!4Dzs30!&hO#u!+8MbVVtkwd>iNcI6uVsDbCm)#6&nR$9XNzOq@64 zEW%lZ^A4O1I9qYvkCTpVxIT$FMXJ(AVsfeFYs&a#MX>v)5No`#tOo!={t3V?3B$YVmAplB+t} z>alOc=2?oGS{n+Q+d6$Llc$TCIy&W|ret?j7mxQ}&P zihXiHTT4q_YeQL6D=K_Skg~c?+0)U{*1=e^75VbE27j}!1W1A=!H9jH*t%luO>1c@ zWUp(+PSbdCGi+tPx(y~U%d(ZV)qyLQ1d_^juTQRRUC+5RcsAAh+DQu#8#-X$wAVCu zg6;CUX1|a9*skuZK?)h#V(cdxgzvS%&Y9FHcQp9h@nRK9HDTYZ8PU5Wt@Ft(bxo~x z9qT&TM&w)8O7;E@sikfccIc6Bmn2{7hNcd50P7L?MtbuPV}FNSr%#sZ+S?`hzIH%P zFsa^$zF_Q1i{$I*Xl)B3=)YP^X-T>FmdQtxeR;jI( z6Znx;Y8SviSc!??_+@+D+O`gv71*%{$@$!Bhk;;6kgqr+bOqgtj7-K_w6mdmiqSl;2Z7O%jA`RY6lD2S8VpNpV>Q`*0t6lSboC}MR7g7 zMX6>VH1H?8+}7N-5j|j!*?@L6waSh7saOn1%WYsn2g=_0No3LLDYiM0pTJM#!vg+5@bx3kYU6b4iwwyOH zuUb}Lz07+fg25$Un8pTH_QmS*##Vf>x^-Spr8gUL-|OUU&uMDwl+bKnHVsgrR@OOD znNTs?k|f>Xm2a$XLf=2k)7kZHewhVC+6Nafk>)(r(B_Rozim*kudb!EMykn_Jl@4T zq&~yzH+PnrwLVeZ`Wn<+B%vSB&jl$MwVO6c?b!BigQa30UfPg}g0BCXbD5{Q!c%tR zLVgzjBvU|_&X&#%^&PT+&O!eFi!)k=T*#oE6Wse?RVe>oIYF~iZm7TE2JGb1&6NKa z4!Zv`e7XDo1yTPZF_FeoHPp>F=Z~OZ)hD{JxHZGe7OZb;@h!N=hr9a=s20CB&g-uAH#IltRJ6P1^Xog>Iy>jL z;?DdApFqEHp~`~cwzVtI>spwxFo#*XYG9}0hM3(#B?Vbo;@-Mzev9mH^(|fJYxQA) zf^1z!{raU%i*gpb=C9NKS1xqT*Um;R4WifiqA{-djje6-JLS6id*;*A0ayxQ(U$Pp z3J_HnX4L-|x0<%Zto9hJ5SZ-@PsjONX>Ear9tdc)#&xd8YQ|-RI%1mJTGzSwAC8t_ z=jnzv|5_|htd>{`(wU8ZN)GZ7JUcC?{Ef_IIr=7wVx)GtgISJI8ku@9wEU99u*dKK zm|0$awMYdD_RaMWwtz$HC}3{yRW%v-FlhXS8=NG5H;CP+HWE5xm@>s-H~ zu33^<%=Of;xbzI$2B;IETe`O!`y9XX6?+81D!Mn*;b)Ih?j2;OQU{64?G&cOOfL8@M0jV`#4??%*Gx z3>HJY<6a__*kfATusB@T%Hjs8FC5Hv6R>qUK<#ANas7LVhF?6uC6WEIxC2Ch#fZ$% zA*#k4#EX*L=xoeJ^`^tk(zaV$hg6S+ZYOR;#2x-e?A*uTIW89WGa*#7ua3pNN@+U= zeN&?>ZGa1l`#C`zDg^ToMrGVE!4hIx{LL~RR>M|O+>sxFT#|s`@hukj3qnbcX=vKe zgl(v}V^lsTrloB|C)Ds7H8q!V_an!>nmeW$!;7AM>x3?jQ|&@R@JY~PQyYu>6@f~4 zowd#A$vQ}Wf?#Fjy;Z=;pMy;m2VkqG1C0NJAgf{;+a)5#;@+Yv>nSftyiMiJlvgX9 zCcvhcmX=Lwjd!U=HwTC+@0|w5HV#nhj1Xjd44%GI>x@#JCpbXVIYU&RYA zo^~14d}u}|TmZJSI^`BwmBV78nrE~U(w|yl<0WUc60S(K$j*yCoPmKJO)G|j$2b@& zR+)+RI(XS9DJl@fR9Tcw;bqK{LLfdqxw)vNQ+cUfl=^9NXI*P_c|0$7i1KJD6L>*_ zB?aTCL6Yn4@wG~ZKA6T4l2in|&3z&yCr84w`?jB9a63p_G`jeRw=>&6Bh7(iU>s;= zwx4J~vQ%|KvK>P@*1iQq;+r<*ELK}L!(zb$nz43r5CTpfMlDRS5O^j>r#KK++t38x zBHVo3J(fGLfJt5nVl}lD9?4r!;wh{}lo181%B!v^%`20tJ;hR?r^-`N=&2~U9kYO5 z%j=OQ!Lk~$yj5k`vI8YAv*{&T-J-I*V$Q}}lUG*8>^eqyyc``R1B4QSfXC+sVX%UJN07HSD7adb&_;oRjs!~D(AXp$vT+m zm!Zp1%BJh!!phow4Lm~!YuJ@lEJcTE$bin&p;dW>lDDL?x<)FhtthA|t*l^|7)z@? zHMP|hUUsPtE~>1pmTs*@XP1?hm)5XUy$Ib^vm&n=vQ~SFJg^kfOunbWQ&d_2n`W2k zsAUCJsu^9b1JQYf&}3n0(e3OC9Zbq9ttcq;6tFZMiXQe9d#a_vBGmBk4)C%o_43N9 z8Y!>1mR+TT@|IVY7LwkjqRMJ1uduM1U9FdT%PLn$rRaD3DZgM*gw%O;P!Bhj-z&qx2768K`(qsFT$|OD=RIo@KD>A!z*wc=&(}KtjNpKb$n8X zH?O3K%{Iac%4!PPwMJNe4ZF?=DJkXZDk_B#bBsmasG_;XqN1W|kEe=VuR}d6Yowga z8*^@w3Mwn$5GrcC>;}Dfxu>9}vbyvRk0eZw&C|<@VG$UX+%ZXBY7GWU8Jn+T5U{pF z(@I$-%mUq6S`Hh^m<-Dcei*MR+5#h5RbIg|=vVE9(h6@y1T)i!S#x`pr_AH^q8mWZ z%d(8cBul20f4fw*va*^j)CanEkii}K1=_GndWkSG)fzE9 zQ1NZ!i;MEgzzLxgcg*?arL0;&;z#&R-=QpuDnfEMy+0y zS9ohJI#SpTTdo&WBIYYC;zJb^nzw?j(96ou_js7WaRXMZcOy#VQRoUa#N@GLBYw4n zUm;;B(aGaT5oXf<;b^uQbpmQoP2C8P@u_yD`}*N zz>(+ky({vn)Hsm?xXdv^=BvO`jj=^o%mveBwp&T4cnYK=%P}nNSlkRNHTe>$p$+R) zKP~p~41}~EzwVL*dP}3PwH}CB)(1c#)?SUjGx4y2R8PO?QbX%6$E?QNA(JaAg=w;6 zgdxUNqVkoZBtE&!Q=A9a!6_spM^A2u7kQ9bMTLkCk@3Px;T$OMOfJG~qQ>V*$u#E` zl~%)Ws4!VHWhI{`O*{+LNi9rmv39fU*$i?hcSHHf0l4ISB% zxuTDkayGxx*u*p2%S4Tg6y#buX}5KQgeR>!>R@ecYuCam8zO8l64yDX@=SdPiSL{8 zO})5}9rs=ilZ2xvKse9ku z50+gzZb_bZg$F@gd=xCdvH}lbl(B>;n76bHF%6e}S`>I$MH$A2PR_gRc50)Pw|wQI ztc4gVdJzR$Wmq=pkYW!x{^Tggvc*^_=?IvWFbA<2QJ`fxSRO@TlouA|m1kvQ{OG{^ zLWr7$CDAz0LM(^Ifo{YyXdEaT%bh4t4X1Vac+f&DbabpcDB#P&Dn|#=#^{w%(*TRR zY>G1#M#?uC$jP#}%cCINxpt75@_R_q+BSb{13efRH){&t?&tNITI<{BhL{QI8jj>3 zXL=UatBt->NXNtHa+iw->oD?WPay={%TezK@y+eH+S^L`5SZd8uWq~S3ZOW|jS=(R z5v$$ahz%^<$Z*&oPkXa(lS>2GwVOprks=L}8i5$@Dka$^+z0|W#DL7|vPqJ*AuKV+ z90;->CvQ-g*?xd@Je~|}Ysa%tn0RojfK3^-5DLKc&G!q)A2=kg(cfCnZ$?eMJ`9Xl zdkk&>Uh4Qg(#c5CeHn??J6ICKe@krYf>?k7EQ|(b5-^o2#3xRPvC;P=Qm>_)6S;om z{&HB7SyF7WWxB=YxWX~pF$0@#@QxOw;t7%jv$UqO`1r3N3-h{`mCnG1{0yMS$KM?P z<#-FS_*RI`L7CDSIe5fB)(LzfX9WJTateAMjSm6Wy`yDN4l9iR>uf=jPaT@+waIXos2btxw z?|?@=0>D`0833xwpsHDJW_!wFx#pVNmu0S7di(8}3%+vAHC7AAdx2tQ<-}k-!{`SH z)F0N**B?EA2W|G_-pyx=h0<||^xVOpuLPv%ry4%H0%Lf_uc<9#J?RNa+&L6!JXMPu zwjxb;PeqFEh{D|=gB!1OLuo$0Z&lYScLIi6mh>D2Qt;oDnhz3GfUNeI0dA-=wr*|n ze0ny4%8=E{>M8Suk0jKj_kEyi9(1U`{dTF;v}b|v6P>N}bHXlLW1^!!FVVjL3$y!6 z#s3R6Pz9NG@Mi*CWT80L<2+@6Y$7mB)xrozQXi#v=@9iH{LBbM`@$_%#4uqt%VLy8 zKU>C__LW(}AuG07Fv*NNGWgRa;=`?%OsTDwFolKCpsLsSuUXkYCm5a(q< z^>K&R_K3`ui6@wosJ9m_oRH}c{SI;4JdMs%D94MN~*PJCHhsf z78gKbr06Zsury0(06_FIVVjR*sCp=(jcZH@8GM$(J^u&}NoM9p7WE*&g4dT!bO`V+ z%IS4|M8Rgs!C#$@rg>^~O$4WeFmZ}Q!?_HJCnGo$)1i?+7_3drQPvEIZh)x_&j6R!pn zud|@@=XkZ7c%_(lZ8Py&W8!t{bMV?^;+16L)otRn%EW8w#PeB` z@uC_Hz*(c=;CHJcw%QYcXz~a;#Oq1aLUGig#YnVXB}s)m#>QzfBRu>}nKy!f3t^*( z>xjwM0NE3PXz~nm35nM`z=0!GOWX2<-pt>e~Wg$I+#%oWcLlq~FY7>Xa zamwAq@RRn{m|QX_81_q0aAr9 zR_IXESU=Yxala1b#)weUm>V2~##~65k5Sajgi#wQpXI!Way)E)mZ6$Pc@3bG*{T*B zZvzepfX+YTukp}Y!LT?Y?dkF17}RC(hl?JBlm_99rSoEHsMDhfBqQaRTRF{H31L53NsAwYFQX*9+B@=39sZnh!cAl*mp+Gm6ms z32~^_JXIdJU*Nd#mna&KFRM5(Y2eUW#)zY>yA{YGbg1w3X_T~f6-L^nmFU<1%63tI zQ7?)9S_wBZaet8xMSoo}ffj{+T)+|fNkz(xMtw>>Df*Ot4rD&w1&GEVsnUj<7!w^O zD6Hc8aZR|Npy^QH5FM>|b!uiEn%hm-)!=p3rFkuatO4ZIEDfUZ>gVzhuPt!-*@PH5 zG#{0X7K?V_e#8Vv2MXQSsFWwrj>b#i5HEUb7H*wI9h%S7T0G&r)6q~T*NJzP33)elO6By6pRT#l5c;peH=D^$w>IRVI?2qe<3YpE8s>n(H! z?ukYn>WY3*Gi*cnUKO&Keu-j$ELv~EX*J|&_3xWR<8#)NZ+31^iFhgKX0%8OQ- zaEeSgH71;!O*mC1oJ^0$Jn{b{p;iQ{z_Ly)ewlnJR850i097deoCY-VHwz}wP z6V53U&JGjKq47A`n@qN9siO#hqTRmgKNgI!oebB@!s+Jm2KMOjh`(JpM5PpNs z53=sv2+u&AM-SqMv=m{XX)45l!X129--X$eS2O(4W?20Wi=mijw1_A|c_KP%@ti1* zcARka6Y`>R+OdzwY{^B=NX&FkYLZ=uDWj!@u@!--4jgRvjjsb{$8JtY{s_d4V6^1BmhuHSQ5e0uTg_%6%c}$;j(- ztlAb9moVG3XO+DY5*m4RjjwgnC*xO<*-x5k9W>RdLN^J@)YKZZUGoyS`=-7U z?$8a?ONibHg*5}`tO0`0q(w9)aQ+?;Z9Wx{?*mdbFPhGNK(rZO;2Z&j4$2A0DL~wY zTE7RRU$q}dC|(@Lwj1Q3nB|n(c0uP-n7`IL0x}CUahF07NoOXlEWq@cFF6gWQM2pY_qy-Q+_=%Qcw{TOlRL{K{8lp5yM>99Io`u36uZ_gl@8r+p+o1DVS>0#kSaj5xq!4m zGT+bFuR0y-hffTBDg%;f&`-CDPNIu;JpsrZBz4Gl0oh}KJP%07p!q|9+U({R8Ze`En?jlnjGk<&cC;9f&?aOj$+uhwre z$n!KH+N>vPJqw7-fO9~lqql1qkW|$}iduhEadcjPB8b5@X2SPqUQ5(k0EiZ23&>JH zRz}7$Y00HwTi+Tc(W}u5c#S_8&g^^VT%DaJ+W1#Z_ zAmUDhW~(m)@=SydNf-je$ZHIcl@T1gPqMigkIT}b>n9dbgAS3@S7B~5$a4j7vLkc| zdoCc_3K0c3mH_gc0q0gg=AcBk-qnCG=8odt42X8GR?v9>kUa+OJygrkgWm$gVbIUN z0Fr5__3waa5iCZf`qTe*1I{bJ(PBTr{WU;n7fY9U6p$wk?V1-q-jC7y^w$_D*8-xg zw#X;&_tJ3xqg(Gf;Lt$^D!6wN9Yebw24t0i`!@i=1{|*;YW+PRr*4QI%l`_U?I&X^5q53I+(4pHHedhkr zNGtI0Hhu$LUb7xJx;AbCjuw-Mb}a)$HsGuPB;5e12js;FWfZZe0HH&d`B^|HYSMY_ z17x?M)~^9^Mf5}UFPlbxH99m->0P*8^E4e&*$u#{!c`s1)XVf*RUA66eBkIB!}~It z>E*LeL^Ot{==rN^AwX20-iBJ#QeB4)fNVF&{2(A@2FTX{DKSX+EkKB@PUm}o3`b@n z{JMq0Wr?GcL7pmpxi>W zBJvRB2LRb*XhjboWbqX(4p(_0w9kWaN=>#YP~_`F9Gs|0p}h-_8Pcv03_95b>9bs8m99) z1c=eAzrk_bQ8@1bLaPM5)<=M>F>tpL5d+S`DE$Ey$5KFYBDEy(>SVUVAoDVn4#o@i z)oEWDoj2}S1Dr8KpZWoD0ZZ?%hXK)6^n&~2fMfzkA3NU%B-NnR!+^{&;G6^`HzG5N zSO}1(4Ul<=VvZZ+xeX9;_l;UXyU6BN+zp()20G91Xee6G2LYi&*ZeO5X)x3}4Tv^M zP=Mq2fY45<9(~13hc*m)b^@ZUl0>a*0nzSc3CN9r(4mjG62dV=M0Ws^V323MT1%I? z8<1xV`gz=h^L;>88f5+vAnPNP$wSf$uS*QAcm+7yA~+=Ln}9eBkPiW&HIJ^11-SJ= zcSm$fC(Qi5Tk_h|r-Zpcd`T=04l5V9zJ zG<_G4IR@_ifM6g*&4a^$U-elXe}fn0-JhHt(2S|rP8 z@U8W)!$erux(>gcR|OyT!&9Wwlir(Q)@XM(~Sn1K2q7(O6##(3nD)iLk>Uoi2SBhm0E?4uO8hlzGstu z|NZxaAl~m?mbIk4$ye{&*o2=@^B;6{`0*BfQI;d&t%dwmWPD349WN5U$+M}BesPBv zh&K_I5fDLJEIyLSUo%cv(fRR6{C(q5NLoHS3oqH1@t(4Ju0j4y0si?*2_FW)cRVpp zAu2u$AZ0d@EXDW{HeL@Rb^6yzrQ+$F4APO0e?WkKn1}Z}Mta!P7(x-Q&BDQ#6-$`1tGHq7isasiw?JA=_HKAQZLQee@e0 zN&QkO%!ob#KAqyskGYDAKK&CLd!PM_}{6;M>2SMHJMjT;h)Mng-@jQbz~e~~J; z*$h}CAF|@n@{Glc7TvgriTm9VRf>d*JG*iU?Y7xHB5&3wCJCjM?$v^4ArQuvu_Wa8oVk8LW( z3jdaGYYP~|iHQ#rsEkS3k*}PPu4y#kC;6HhgqCXbZ-{XAcs516U|*^Ob$YF^IYvJ^u^7c+XtW?$-JrRqNyZg_7k3#i2wEICno35+JYeexv*QWYTZp8eJ za&3*&)cSki%v)M8?~rvH3+Rg^9e4#KmGD=*lE=gw3uIplUe?FIC(O&DzOVru;%7>< zAE>KQK$<3ih*gcMKX_^J#T7LVp8982r14gwnsD@|SG0QSM^Ut__H7DnDCssMJO)i$ z&2nc0-i0jTL(BD%4&^W675bmxn;0aK;UhP^Hz%<_GMcvL1~M1jY}R8HEQv>*SjI+Q z-8~u5-Z-B^_Df(-i6s0`zNfgff@@th`0-P?X7apPUBhdt&^{s~Nw{GZ-5--X6wU8x z->1=SWWBGhJ<4`OL&TT0@j_TKJ;U%&x6Cp4{h4S`)L@*T520Iprbqi&5RFYUM71<} zbExXKgiS;~GedQvKU74{g+^24YcZNyXoMMiSRFsYa@*C_w~DT=v-y;TSGwY3DbZtr zt6lxMpjsjFU7ZL&-4Q{F+y*q4!UumHUc^ctVBy`Yxi0>F6;M#W1B8AMpL`PU$87Q8 z9RnDrWl`TpB7@YGA(S)TwU^@kFxn`L$P%$sE)D$k7xF=BNH@7@L0ruL>L-OX-9%3h z5pT?-sIOP?ai&=}|MZYLe`)P7e6ESle*8;Uyxtdarf5jy<37gMFu+6M{i5{AB3zR34)APx7z2xfSc*T;mi@PY)P} zgfRSxJ}9PJlDbnS;k8g=JkoNYQ)<|_P`EOZcv2VqMQloSFk)7n$c1R1-I634q7i*Y zO_DS^&`+AGCY+8Y2;3rH8jDOh6V4!?Iq9Iq)GJs^P4u-nU9Df#Z$u5Z$hXk=l<~y| zgBI1GbK5b&>OqYdC9p%TLH0`5es@ncsOpitS1c8qx4G$K+s7n$ zXv@(Fz9h!|J->}XAzZX~i-bK0z3=Ii@4;)n&=AeB+~ezL^)=(|uXO-MyS=EPtUe8* zMHspnngWf;XB_#Mg8?8QF*j8ouEK~TALWbkvJ@1lPD%9o`1$OMcsVhn80?a^FtjM! z_yxd7Y^I9wMHoiRu4de-tHl8o-8H`E4j|b2Vdm=CYrsXqn^pb zBQ5fVdFe)@8&~vR5WmN!ZrG5Qz*`P!ULXw`r+7nLD{IlgczgJ4r>@>F*KB8^&+PqA D#9zya literal 0 HcmV?d00001 diff --git a/Member initialiser lists/main.cpp b/Member initialiser lists/main.cpp new file mode 100644 index 0000000..6519971 --- /dev/null +++ b/Member initialiser lists/main.cpp @@ -0,0 +1,39 @@ +//Its a way for us to initialiaze our class member funtions in the constructor + +#include +#include + +class Entity +{ + + private : + std::string m_Name; + public : + + Entity() //Default constructor + { + m_Name = "Unknown"; + } + + Entity(const std::string& name) //constructor + { + m_Name = name; + + } + const std::string& GetName() const { + return m_Name; + } + +}; + +int main() +{ + + Entity e0; + std::cout << e0.GetName() << std::endl; + + Entity e1("Cherno"); + std::cout << e1.GetName() << std::endl; + + std::cin.get(); +} \ No newline at end of file diff --git a/Member initialiser lists/main.exe b/Member initialiser lists/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..a31d155f9f5f8e45ddae2b603f7f46ae9f0ed7f7 GIT binary patch literal 49079 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 Yor*rzk92?whg0og2Hjak`>x{u08Ulmy#N3J literal 0 HcmV?d00001 From dae95717586d544fe11924cb6e54bf2045d383bd Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Thu, 29 Jan 2026 01:09:04 +0530 Subject: [PATCH 11/24] These are the ternery operators which can be used inplace of if and else statements for better performance --- Terenary--operators/Log.cpp | 22 +++++++++++++++++++++ Terenary--operators/Log.exe | Bin 0 -> 44923 bytes Terenary--operators/main.cpp | 37 +++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 Terenary--operators/Log.cpp create mode 100644 Terenary--operators/Log.exe create mode 100644 Terenary--operators/main.cpp diff --git a/Terenary--operators/Log.cpp b/Terenary--operators/Log.cpp new file mode 100644 index 0000000..5fa087f --- /dev/null +++ b/Terenary--operators/Log.cpp @@ -0,0 +1,22 @@ +#include +#include + +static int s_Level = 6; +static int s_Speed = 2; + +int main() +{ + /* if (s_Level > 5) + s_Speed = 10; + else + s_Speed = 5;*/ + + //s_Speed = s_Level > 5 ? 10 : 2; //we need to write the condition first and then ?: + s_Speed = (s_Level > 5 && s_Level < 100) ? s_Level > 10 ? 15 : 10 : 5;//this brackets are initially absent + + + std::cout << s_Speed <^vkd^WdT25Rx4d$;)Im-~$Qn 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 literal 0 HcmV?d00001 diff --git a/Terenary--operators/main.cpp b/Terenary--operators/main.cpp new file mode 100644 index 0000000..d66a5b9 --- /dev/null +++ b/Terenary--operators/main.cpp @@ -0,0 +1,37 @@ +//Just an alternative way of writting if and else statements!! + // ? = if : = else + +#include +#include + +static int s_Level = 1; +static int s_Speed = 2; + +int main() +{ + /* if (s_Level > 5) + s_Speed = 10; + else + s_Speed = 5;*/ + + //s_Speed = s_Level > 5 ? 10 : 2; //we need to write the condition first and then ?: + s_Speed = s_Level > 5 ? s_Level > 10 ? 15 : 10 : 5; + + + std::string rank = s_Level > 10 ? "Master" : "Beginner";//not construct an intermediate string due to return value optimisation and its faster + + std::string otherRank;//without terenary operator and constructing a temporary string and destroying it! + if(s_Level > 10) + otherRank = "Master"; + + else + otherRank = "Beginner"; + + + std::cin.get(); +} + + + + + From 3ae998150e784638d2770efb53f6eb46dc9b5742 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Fri, 30 Jan 2026 00:41:48 +0530 Subject: [PATCH 12/24] Initialising objects in classes ; and types of allocating class objects --- Instantiating--objects/heap.cpp | 49 +++++++++++++++++++++++++ Instantiating--objects/main.cpp | 61 ++++++++++++++++++++++++++++++++ Instantiating--objects/main.exe | Bin 0 -> 47822 bytes Terenary--operators/Log.cpp | 2 +- Terenary--operators/Log.exe | Bin 44923 -> 44923 bytes 5 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 Instantiating--objects/heap.cpp create mode 100644 Instantiating--objects/main.cpp create mode 100644 Instantiating--objects/main.exe diff --git a/Instantiating--objects/heap.cpp b/Instantiating--objects/heap.cpp new file mode 100644 index 0000000..e7ee710 --- /dev/null +++ b/Instantiating--objects/heap.cpp @@ -0,0 +1,49 @@ +#include +#include + +using string = std::string; + + +class Entity +{ + private : + + string m_Name; + public : + + Entity() : m_Name("Unknown") + { + } + + Entity(const string& name) : m_Name(name) + { + } + + const string& GetName() const + { + return m_Name; + } + +}; + +int main() +{ + + Entity* e; + + { + + Entity* entity = new Entity("Cherno");//we should make an Entity pointer called entity nand this new Entity returns a Entity pointer! and this is common code in c# or java by removing pointer + e = entity;//not copying just assigning[storing memory adress] + std::cout << entity->GetName() << std::endl;//also can be (*entity) dereferncing or with arrow operator + + } + + std::cin.get(); + delete e;//variable name,until this Cherno exits through objects +} + +//in c# there is struct which is value based type kind of allocated on stack eventhough you used new keyword +//in java everything is in heap +//in c# all classes on heap +//with smart pointers we can allocate on heap also get objects get autodeleted after scope like shed pointers \ No newline at end of file diff --git a/Instantiating--objects/main.cpp b/Instantiating--objects/main.cpp new file mode 100644 index 0000000..eb8fd2f --- /dev/null +++ b/Instantiating--objects/main.cpp @@ -0,0 +1,61 @@ +#include +#include + +using string = std::string; + + +class Entity +{ + private : + + string m_Name; + public : + + Entity() : m_Name("Unknown") + { + } + + Entity(const string& name) : m_Name(name) + { + } + + const string& GetName() const + { + return m_Name; + } + +}; + +/*void Function() +{ + int a = 2; + Entity entity = Entity("Cherno");//after this loop this Entity gets destroyed! +}*/ + +int main() +{ + + Entity* e; + { + + // Function();// Stack frame gets created includes all classes and also primitive types and after that loop its all get destroyed! + + Entity entity("Cherno"); //calls default constructor if there are no parameters[null referncce exception in c# or java ] + + //Entity entity = Entity("Cherno");//same as the previous line + + e = &entity; + std::cout << entity.GetName() << std::endl; + } + + std::cin.get(); +} + + +/*we need to instantiate a class [not static] + 2 ways of creating by the type of memory used heap and stack + its all based on lifetime and speedness + 1.stack is autodeleted after the end of loop and its fast + 2.heap have to deleted manually and its slow + also we have an area where our source code lives*/ + \ No newline at end of file diff --git a/Instantiating--objects/main.exe b/Instantiating--objects/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..04258c9dfcea2d36093c5f0d047b0117594005b5 GIT binary patch literal 47822 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 bBe!9?C~JfM@K(KaNL25xYaTGtr| literal 0 HcmV?d00001 diff --git a/Terenary--operators/Log.cpp b/Terenary--operators/Log.cpp index 5fa087f..7abfc30 100644 --- a/Terenary--operators/Log.cpp +++ b/Terenary--operators/Log.cpp @@ -1,7 +1,7 @@ #include #include -static int s_Level = 6; +static int s_Level = 102; static int s_Speed = 2; int main() diff --git a/Terenary--operators/Log.exe b/Terenary--operators/Log.exe index 4abb006b370a07b9d7dddb08bde992626ff8402c..fae018045243c655e2a880f5cc5f09998b96af71 100644 GIT binary patch delta 28 kcmex;kLmY4rU@NPlhY@5`7t&A*mz6JkTGpDt5I1k0M5V+*#H0l delta 28 kcmex;kLmY4rU@NP(Ww)={Fq*T-FQpOkdbXOt5I1k0L@qoqyPW_ From b9db19538389ab885ad5dc3eec8bca190360252f Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Sun, 1 Feb 2026 19:06:03 +0530 Subject: [PATCH 13/24] This is about the new keyword usage --- new--keyword/main.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 new--keyword/main.cpp diff --git a/new--keyword/main.cpp b/new--keyword/main.cpp new file mode 100644 index 0000000..8c1f3c3 --- /dev/null +++ b/new--keyword/main.cpp @@ -0,0 +1,42 @@ +#include +#include + +using string = std::string; + + +class Entity +{ + private : + string m_Name; + public : + Entity() : m_Name("Unknown"){} + Entity(const string& name) : m_Name(name) {} + + const string& GetName() const { return m_Name; } +}; + + +int main() +{ + + int a = 2; + int* b = new int [50]; // 200 bytes and returns a pointer + + Entity* e = new(b) Entity();//returns a void pointer and the aloocated to b memory adress + //Entity* e = (Entity*)malloc(sizeof(Entity));//malloc(50); and this returns a Entity pointer + + //free (e); + + + delete e;//calls destructor and free funtion that "malloc"ed + delete[] b; + +//scope based pointing and ref counting for using it in advanced way!! + + std::cin.get(); +} + +//This new is a heap allocated keyword which returns a pointer +//This can be applied to classes, primitive types and also arrays +//This memory allocated in heap contigously from the freeelist which have the memory adresses +//we cannot take the malloc rather than new Entity(); cause this calls conatructor From 2edadb4ff87748ddbb238712a470fdd544fbd47c Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Mon, 2 Feb 2026 00:14:30 +0530 Subject: [PATCH 14/24] Caution that c++ compiler can implicitly convert some class objects without you expliciting --- .../main.cpp | 43 ++++++++++++++++++ .../main.exe | Bin 0 -> 47254 bytes 2 files changed, 43 insertions(+) create mode 100644 Implicit conversion and Explicit keyword/main.cpp create mode 100644 Implicit conversion and Explicit keyword/main.exe diff --git a/Implicit conversion and Explicit keyword/main.cpp b/Implicit conversion and Explicit keyword/main.cpp new file mode 100644 index 0000000..cc39ca9 --- /dev/null +++ b/Implicit conversion and Explicit keyword/main.cpp @@ -0,0 +1,43 @@ +//Implicit means without explicitly telling what to do [automatically] +//To explicit a constructor we keep explicit keyword before the constructor +//compiler can perform one implicit conversion in our code[without casting] + +#include +#include + +class Entity +{ + private : + std::string m_Name; + int m_Age; + public : + explicit Entity(const std::string& name) + : m_Name(name), m_Age(-1) {} + explicit Entity(int age) + : m_Name("Unknown"), m_Age(age) {} + + +}; + +void PrintEntity(const Entity& entity) +{ + //Printing +} + +int main() +{ + + PrintEntity(22); + //PrintEntity("Cherno"); //Cherno string is not a std string its a const char array of 7 characaters and c++ have to convert 2 [char array to string and string to Entity] + PrintEntity(std::string("Cherno")); + PrintEntity(Entity("Cherno"));//both are the same + + //Entity a ("Cherno"); //or Entity a = Entity("Cherno"); + Entity a = Entity("Cherno");//cant cause iam equating string literal to a Entity object!! + Entity b = 22;//we cannot do when it is explicit we have to do Entity b(22); or Entity b = (Entity)22;[explicitly casting to a Entity] or Entity b = Entity(22); + + std::cin.get(); +} + + +//c++ cannot perform 2 implicit conversions at a time!! \ No newline at end of file diff --git a/Implicit conversion and Explicit keyword/main.exe b/Implicit conversion and Explicit keyword/main.exe new file mode 100644 index 0000000000000000000000000000000000000000..183877907d13bc43f1a04850d5fa13390e39c524 GIT binary patch literal 47254 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 literal 0 HcmV?d00001 From 8d7815771cd7e036697521c47354cf807a955ef6 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Mon, 2 Feb 2026 20:25:32 +0530 Subject: [PATCH 15/24] About operator overloading !!!! and when to use them!! --- Operators -- its overloading/Log.cpp | 64 ++++++++++++++++++++ Operators -- its overloading/dumb.cpp | 84 +++++++++++++++++++++++++++ Operators -- its overloading/main.cpp | 40 +++++++++++++ 3 files changed, 188 insertions(+) create mode 100644 Operators -- its overloading/Log.cpp create mode 100644 Operators -- its overloading/dumb.cpp create mode 100644 Operators -- its overloading/main.cpp diff --git a/Operators -- its overloading/Log.cpp b/Operators -- its overloading/Log.cpp new file mode 100644 index 0000000..f829f51 --- /dev/null +++ b/Operators -- its overloading/Log.cpp @@ -0,0 +1,64 @@ +#include +#include + + +struct Vector2 +{ + float x, y; + + Vector2(float x,float y) + : x(x), y(y) {} + + /*Vector2 Add(const Vector2& other) const + { + return *this + other; const ptr in this case so we need to dereference this this keyword!! + return operator+(other); + + } */ + + + + Vector2 Add(const Vector2& other) const + { + return Vector2(x + other.x, y + other.y); + } + + + Vector2 operator+(const Vector2& other) const + { + return Add(other); + } + + /* + + Vector2 operator+(const Vector2& other) const + { + return Vector2(x + other.x, y + other.y); we have done reverse of the overloading like creating Add from + + } + */ + + + + Vector2 Multiply(const Vector2& other) const + { + return Vector2(x * other.x, y * other.y ); + } + + Vector2 operator*(const Vector2& other) const + { + return Multiply(other); + } + +}; + +int main() +{ + Vector2 position(4.0f, 4.0f); + Vector2 speed(0.5f, 1.5f); + Vector2 powerup(1.1f, 1.1f); + + + Vector2 result1 = position.Add(speed.Multiply(powerup)); + Vector2 result2 = position + (speed * powerup);//BODMAS +} + diff --git a/Operators -- its overloading/dumb.cpp b/Operators -- its overloading/dumb.cpp new file mode 100644 index 0000000..da63c1e --- /dev/null +++ b/Operators -- its overloading/dumb.cpp @@ -0,0 +1,84 @@ +#include +#include + + +struct Vector2 +{ + float x, y; + + Vector2(float x,float y) + : x(x), y(y) {} + + + Vector2 Add(const Vector2& other) const + { + return Vector2(x + other.x, y + other.y); + } + + + Vector2 operator+(const Vector2& other) const + { + return Add(other); + } + + + + + Vector2 Multiply(const Vector2& other) const + { + return Vector2(x * other.x, y * other.y ); + } + + Vector2 operator*(const Vector2& other) const + { + return Multiply(other); + } + + + //equals(),Tostring in case of java + + bool operator==(const Vector2& other) const//EQUATING + { + return x == other.x && y == other.y; + } + + bool operator!=(const Vector2& other) const + { + + // return !operator==(other); not preferrable!!!! + return !(*this == other);//to reverse how it works!! + } + + +}; + + std::ostream& operator<<(std::ostream& stream, const Vector2& other) + { + stream << other.x << ", " << other.y; + return stream; + } + +int main() +{ + Vector2 position(4.0f, 4.0f); + Vector2 speed(0.5f, 1.5f); + Vector2 powerup(1.1f, 1.1f); + + + Vector2 result1 = position.Add(speed.Multiply(powerup)); + Vector2 result2 = position + (speed * powerup);//BODMAS + + //if (!result1.equals(result2))//this is how you equate in a java + if(result1 == result2) + { + + } + + + std::cout << result2 << std::endl;//no overload for << operator to take in an output string and also Vector2 + +} + + +//This is about the leftshift operator!!! + diff --git a/Operators -- its overloading/main.cpp b/Operators -- its overloading/main.cpp new file mode 100644 index 0000000..862cd4a --- /dev/null +++ b/Operators -- its overloading/main.cpp @@ -0,0 +1,40 @@ +#include +#include + + +struct Vector2 +{ + float x, y; + + Vector2(float x,float y) + : x(x), y(y) {} + + Vector2 Add(const Vector2& other) const + { + return Vector2(x + other.x, y + other.y); + } + + Vector2 Multiply(const Vector2& other) const + { + return Vector2(x * other.x, y * other.y ); + } + + +}; + +int main() +{ + Vector2 position(4.0f, 4.0f); + Vector2 speed(0.5f, 1.5f); + Vector2 powerup(1.1f, 1.1f);//Multiplies the result!! + + + Vector2 result = position.Add(speed.Multiply(powerup));//without operator overloading + + std::cin.get(); +} + + +//Operators are just funtions!! +//Operator overloading is just giving new funtionality to the operator +//This is not supported on java and partially on c# and use when only its needed! \ No newline at end of file From d476c001a9abe34edd3eab21401a9fb89c922123 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Tue, 3 Feb 2026 12:00:45 +0530 Subject: [PATCH 16/24] "this" keyword advantages!! --- this--keyword/Log.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ this--keyword/main.cpp | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 this--keyword/Log.cpp create mode 100644 this--keyword/main.cpp diff --git a/this--keyword/Log.cpp b/this--keyword/Log.cpp new file mode 100644 index 0000000..7526c34 --- /dev/null +++ b/this--keyword/Log.cpp @@ -0,0 +1,42 @@ +#include +#include + +void PrintEntity(const Entity& e);//DECLARED + +class Entity +{ + public : + int x, y; + + Entity(int x, int y) + { + Entity* e = this; + + this->x = x; + this->y = y; + + Entity& e = *this; + + PrintEntity(*this);//pass the current instance of Entity class with x, y! + + //delete this; avoid this cause you are freeing memory from memeber funtion + } + + int GetX() const + { + const Entity& e = *this; + } +}; + +void PrintEntity(Entity* e)//DEFINED +{ + //PRINTING +} + +int main() +{ + std::cin.get(); +} + + +//supppose we want to call a method which is outside class from within entity class \ No newline at end of file diff --git a/this--keyword/main.cpp b/this--keyword/main.cpp new file mode 100644 index 0000000..fb91c9f --- /dev/null +++ b/this--keyword/main.cpp @@ -0,0 +1,40 @@ +//this keyword only applicable to member funtion[funtion in the class i.e, method!!] +//this is a pointer to the current object instance!! +//in order to call a method we need to instantiate the object! + +#include +#include + +class Entity +{ + public : + int x, y; + + Entity(int x, int y) + //: x(x), y(y) we can use member initisaliser list! without it it cannot be differentiated;so we need to give reference to the class member varaible!! + { + Entity* e = this;//Entity pointer const and we cannot reassign the adrress + //Entity* const& e = this; to assign it to a ref this is the way + // e->x = x; or + this->x = x;//or (* this).x = x; + this->y = y; + } + + int GetX() const + { + + //Entity* e = this; not valid + const Entity* e = this; //in const funtion e->x = 5; cant be done : this is const Entity * const + + return x; + } + + +}; + +int main() +{ + std::cin.get(); +} + + From 6dd7eb7bc542dca2a3ad4826c2b9cbf4d08a19fe Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Sun, 8 Feb 2026 23:39:45 +0530 Subject: [PATCH 17/24] focuses on scopedptr class and its lifetimes --- .../Log.cpp | 54 +++++++++++++++++++ .../main.cpp | 49 +++++++++++++++++ this--keyword/main.cpp | 1 + 3 files changed, 104 insertions(+) create mode 100644 Object Lifetime-(stack $ scope lifetimes)/Log.cpp create mode 100644 Object Lifetime-(stack $ scope lifetimes)/main.cpp diff --git a/Object Lifetime-(stack $ scope lifetimes)/Log.cpp b/Object Lifetime-(stack $ scope lifetimes)/Log.cpp new file mode 100644 index 0000000..cf9b273 --- /dev/null +++ b/Object Lifetime-(stack $ scope lifetimes)/Log.cpp @@ -0,0 +1,54 @@ +#include +#include + +class Entity +{ + public : + Entity() + { + std::cout << "Created Entity!" << std::endl; + } + + ~Entity() + { + std::cout << "Destroyed Entity!" << std::endl; + } +}; + +class ScopedPtr +{ + private : + Entity* m_Ptr; + public : + ScopedPtr(Entity* Ptr) + : m_Ptr(Ptr) + { + } + + ~ScopedPtr() + { + delete m_Ptr; + } + +}; + + + + +int main() +{ + + + { + + ScopedPtr e = new Entity();//we can also write it in constructor way and it is implicit conversion + Entity* e = new Entity(); //upper code allocated on heap and get destroyed after the scope ends ,scopedptr object allocated on stack! + } + + + std::cin.get(); +} + + +// we can write unq ptr which is a scoped ptr but now lets write in a simple class +// timer class for benchmarking and mutex locking[multiple threads cant access at sametime locks and unlocks after ] are examples of this type of using scopedptrs' diff --git a/Object Lifetime-(stack $ scope lifetimes)/main.cpp b/Object Lifetime-(stack $ scope lifetimes)/main.cpp new file mode 100644 index 0000000..19bca5a --- /dev/null +++ b/Object Lifetime-(stack $ scope lifetimes)/main.cpp @@ -0,0 +1,49 @@ +#include +#include + +class Entity +{ + public : + Entity() + { + std::cout << "Created Entity!" << std::endl; + } + + ~Entity() + { + std::cout << "Destroyed Entity!" << std::endl; + } +}; + +int* CreateArray(int* array) +{ + + int* array = new int[50];//Heap allocation + //int array[50];//stack allocated + return array;//returning ptr in stack memory +} + +int main() +{ + +int array[50];//copying memory +int* a = CreateArray(array); + + { + //Entity e; + + Entity* e = new Entity(); + } + + + std::cin.get(); +} + + + +// {} THIS IS A SCOPE!! WE HAVE SCOPES FOR CLASSES,EMPTY CLASSES AND FOR IF STATEMENTS! +// JUST DEBUG THE CODE AND VERIFY EACH LINE +// WHILE STACK OR SCOPE ALLOCATION AFTER SCOPE ENDS IT DOES DESTROYS ENTITY +// WHILE HEAP ALLOCATION IT DOES LIVES EVEN AFTER SCOPE ENDS +// BY USING "Scoped ptr" OR SCOPE CLASSES AND UNQ PTR WHICH IS A SMART POINTER WE CAN ALLOCATE ON HEAP AND AUTO DELETE THE MEMORY AFTER SCOPE ENDS +// A CLASS THATS A WRAPPER OVER A POINTER WHICH UPON CONSTRUCTION HEAP ALLOCATES THE POINTER AND THEN UPON DESTRUCTION DELETES THE POINTER \ No newline at end of file diff --git a/this--keyword/main.cpp b/this--keyword/main.cpp index fb91c9f..a564cf0 100644 --- a/this--keyword/main.cpp +++ b/this--keyword/main.cpp @@ -38,3 +38,4 @@ int main() } +//IN Const methods this is a const entity constant pointer!! \ No newline at end of file From 510d78594fcbfde088095d67036be5520e2e2de6 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Tue, 10 Feb 2026 01:46:29 +0530 Subject: [PATCH 18/24] about smart pointers and types such as unique ptr , shared ptr and weak ptr --- Smart pointers -- Types/main.cpp | 47 +++++++++++++++++++++++++++++ Smart pointers -- Types/shared.cpp | 48 ++++++++++++++++++++++++++++++ Smart pointers -- Types/weak.cpp | 43 ++++++++++++++++++++++++++ 3 files changed, 138 insertions(+) create mode 100644 Smart pointers -- Types/main.cpp create mode 100644 Smart pointers -- Types/shared.cpp create mode 100644 Smart pointers -- Types/weak.cpp diff --git a/Smart pointers -- Types/main.cpp b/Smart pointers -- Types/main.cpp new file mode 100644 index 0000000..3d9ff32 --- /dev/null +++ b/Smart pointers -- Types/main.cpp @@ -0,0 +1,47 @@ +#include +#include +#include + + +class Entity +{ + public : + Entity() + { + std::cout << "Created Entity" << std::endl; + } + + ~Entity() + { + std::cout << "Destroyed Entity" << std::endl; + } + + void Print() {} + +}; + +int main() +{ + { + //std::unique_ptr entity(new Entity()); + + std::unique_ptr entity = std::make_unique(); //prefferd to call make unique to avoid constructor exceptions[ptr with no ref and thats a memory leak]! + + //std::unique_ptr e0 = entity; copy constructor and assignment operator actually deleted! + + entity->Print(); //EXACTLY SAME AS RAW POINTER + } + + + std::cin.get(); +} + + + +// SMART POINTERS ARE TO AUTO DELETE THE MEMORY ADDRESS THAT IS HEAP ALLOCATED!! +// AND SOME ARE NOT GONNA MENTION NEW AND ALSO DELETE KEYWORDS!! +// SMART POINTERS ARE THE WRAPPER AROUND A REAL RAW POINTER +// MEMORY AUTO DELETES ACCORDING TO THE POINTER YOU USED +// UNQ POINTER IS A SCOPED PTR[YOU CANT COPY UNQ PTR] OR TWO UNQ PTRS POINTING TO SAME BLOCK OF MEMORY AND ONE OF THEM DIES IT FREES THE MEMORY +// THIS IS THE ONLY PTR AND THAT ONLY REF TO THAT PTR YOU ACTUALLY WANTS +// WAY OF WRITTING IS UNQ PTR HAS EXPLICIT CONSTRUCTOR AND FIRST WITH CLASS NAME AND GIVING A OBJECT NAME AND KEEPING IT A CONSTRUCTOR \ No newline at end of file diff --git a/Smart pointers -- Types/shared.cpp b/Smart pointers -- Types/shared.cpp new file mode 100644 index 0000000..c0b0a7d --- /dev/null +++ b/Smart pointers -- Types/shared.cpp @@ -0,0 +1,48 @@ +#include +#include +#include + + +class Entity +{ + public : + Entity() + { + std::cout << "Created Entity" << std::endl; + } + + ~Entity() + { + std::cout << "Destroyed Entity" << std::endl; + } + + void Print() {} + +}; + +int main() +{ + { + { + std::shared_ptr e0; + { + + + std::shared_ptr sharedEntity = std::make_shared(); + e0 = sharedEntity; + // std::shared_ptr e0 = std::make_shared(); + /*Here this is preferrable due to this shared ptr stores memory in control block + so if you do allocation it allocate first new Entity and then construct the shared + ptr in control block which is 2 allocations*/ + + } //not yet destroyed + } + } + + + std::cin.get();//after this memory frees after all shared ptr dies +} +//shared ptr based on ref counting +//when shared ptr gives to other shared ptr countis 2 +//when all ref summation is 0 the memory frees + diff --git a/Smart pointers -- Types/weak.cpp b/Smart pointers -- Types/weak.cpp new file mode 100644 index 0000000..b7e4e92 --- /dev/null +++ b/Smart pointers -- Types/weak.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + + +class Entity +{ + public : + Entity() + { + std::cout << "Created Entity" << std::endl; + } + + ~Entity() + { + std::cout << "Destroyed Entity" << std::endl; + } + + void Print() {} + +}; + +int main() +{ + { + { + std::weak_ptr e0; + { + std::shared_ptr sharedEntity = std::make_shared(); + // std::weak_ptr weakEntity = sharedEntity;//copy Entity but not increase the ref counting + e0 = sharedEntity; + + } + }//DESTROYED ENTITY + } + + + std::cin.get(); +} + +//shared ptr to shared ptr ref count increases +//shared ptr to weak ptr ref count remain same like you have Entities but you dont take ownership[it wont keep you alive] +//try to use unq ptr and then shared always \ No newline at end of file From 58f39a6ae77952ef12bc39535cd8cc0785598a83 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Tue, 10 Feb 2026 23:41:39 +0530 Subject: [PATCH 19/24] About Deep copying and shallow copying --- Copying--Copying Constructor/Deep.cpp | 94 +++++++++++++++++++++++++++ Copying--Copying Constructor/Log.cpp | 62 ++++++++++++++++++ Copying--Copying Constructor/main.cpp | 31 +++++++++ Smart pointers -- Types/weak.cpp | 2 +- 4 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 Copying--Copying Constructor/Deep.cpp create mode 100644 Copying--Copying Constructor/Log.cpp create mode 100644 Copying--Copying Constructor/main.cpp diff --git a/Copying--Copying Constructor/Deep.cpp b/Copying--Copying Constructor/Deep.cpp new file mode 100644 index 0000000..64fe783 --- /dev/null +++ b/Copying--Copying Constructor/Deep.cpp @@ -0,0 +1,94 @@ +//"DEEP COPYING" works through copying constrctor[is a constructor which called for second string when actually copies it ] + +#include +#include +#include + +class String +{ + private : + char* m_Buffer; + unsigned int m_size;//see size + public : + String(const char* string) + { + m_size = strlen(string); + m_Buffer = new char[m_size + 1 ]; + memcpy(m_Buffer, string, m_size); + m_Buffer[m_size] = 0; + + } + + /* String(const String& other)//taking const ref to same class [copy constrctor] and we want memory in ptr not the pointer + : m_Buffer(other.m_Buffer), m_size(other.m_size) + { + + } + this is default copy constrctor in c++ + */ + + String(const String& other) + : m_size(other.m_size) + { + std::cout << "Copied String!" << std::endl; + m_Buffer = new char[m_size + 1];//creating a new buffer + memcpy(m_Buffer, other.m_Buffer, m_size + 1);//same like before string class but a new buffer one also we know previous string have null termination + } + + + // String(const String& other) = delete; then coppy constrctor wont work same like unq ptr + + /* OR + + String(const String& other) + { + memcpy(this, &other, sizeof(String)); + } + */ + + ~String() + { + delete m_Buffer; + } + + char& operator[](unsigned int index) + { + return m_Buffer[index]; + } + + friend std::ostream& operator<<(std::ostream& stream, const String& string); +}; + + +std::ostream& operator<<(std::ostream& stream, const String& string) + { + stream << string.m_Buffer; + return stream; + } + + void PrintString(const String& string)//by attaching ref and const it wont copies again and we cant edit existing string + { + String copy = string;//power of const ref + std::cout << string << std::endl; + } + +int main() +{ + + String string = "Cherno"; + String second = string; + + second[2] = 'a'; + + // std::cout << string << std::endl; + //std::cout << second << std::endl; + + PrintString(string); + PrintString(second);//simply needlessly copying it and we actually copying it 2 more copies + + std::cin.get(); +} + +//AFTER THIS SECOND STRING CANT CHANGE FIRST ONE +//By const ref we can do copies how much we wanted and this time copied String for string SECOND + diff --git a/Copying--Copying Constructor/Log.cpp b/Copying--Copying Constructor/Log.cpp new file mode 100644 index 0000000..5543b4b --- /dev/null +++ b/Copying--Copying Constructor/Log.cpp @@ -0,0 +1,62 @@ +#include +#include +#include + +class String//strings made of an array of characters +{ + private : + char* m_Buffer; + unsigned int m_size;//see size + public : + String(const char* string) + { + m_size = strlen(string); + m_Buffer = new char[m_size + 1 ];//with null termination character to get no extra memory adress + + memcpy(m_Buffer, string, m_size);//destination ,souce and the size in bytes and size is + 1 if we not created null termination character down there + m_Buffer[m_size] = 0;//manually created the null termination character + + /*for(int i = 0; i < m_size; i++) + m_Buffer[i] = string[i];//copies character one by one + best way is by memory copy */ + } + ~String() + { + delete m_Buffer; + } + + char& operator[](unsigned int index) + { + return m_Buffer[index]; + } + + friend std::ostream& operator<<(std::ostream& stream, const String& string); //to avoid using another method GetBuffer and use priavte member we need to make a friend +}; + + +std::ostream& operator<<(std::ostream& stream, const String& string) //overloading operator + { + stream << string.m_Buffer; + return stream; + } +int main() +{ + + String string = "Cherno"; + String second = string; + + second[2] = 'a'; + + std::cout << string << std::endl; + std::cout << second << std::endl; + + + std::cin.get(); +} + +//IN this copying compiler takes intial string class members list and copies them into a new memory adress second +//It does a shallow copy means the 2 strings have same char pointer means memory adresss is same in both strings in buffer +//At the end we want to delete the same block of adress twice so that we get error after the termination of {} +//To not to crash we need new char array to store copied string its like both pointing to same memory adress!! +//We need second block which conatain different pointer points a new memory adress! +//IK done through "DEEP COPYING" means not the shallow copying it does copy object Entirely \ No newline at end of file diff --git a/Copying--Copying Constructor/main.cpp b/Copying--Copying Constructor/main.cpp new file mode 100644 index 0000000..0a2a484 --- /dev/null +++ b/Copying--Copying Constructor/main.cpp @@ -0,0 +1,31 @@ +#include +#include + + + struct Vector2 + { + float x, y; + }; +int main() +{ + Vector2* a = new Vector2{ 2, 3 }; + Vector2* b = a; //here this new opearator affects both a and b cause those 2 ptrs points same memory address!! + + //b->x = 2; affects memory adress not pointer + + // b.x = 5;//a.x still 2 just copying a to b but still those 2 points different memory adressses + + + std::cin.get(); +} + +//By assigning one to other variable to other it always copies +//In pointers it copies the memory adress +//You cant re assign the refernces[just changing underlying thing thats pointing to ] + +/* int a = 2 ; + int b = a; + + int b = 3;//still a is 2 + */ + diff --git a/Smart pointers -- Types/weak.cpp b/Smart pointers -- Types/weak.cpp index b7e4e92..0d6c634 100644 --- a/Smart pointers -- Types/weak.cpp +++ b/Smart pointers -- Types/weak.cpp @@ -40,4 +40,4 @@ int main() //shared ptr to shared ptr ref count increases //shared ptr to weak ptr ref count remain same like you have Entities but you dont take ownership[it wont keep you alive] -//try to use unq ptr and then shared always \ No newline at end of file +//try to use unq ptr and then shared always according to overhead \ No newline at end of file From 5f27dcd05e1f95523087210d536f17ee47feb1c3 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Wed, 11 Feb 2026 01:04:12 +0530 Subject: [PATCH 20/24] All about arrow operator and its Overloading --- Arrow Operator/Log.cpp | 53 ++++++++++++++++++++++++++++++++++++ Arrow Operator/main.cpp | 56 +++++++++++++++++++++++++++++++++++++++ Arrow Operator/offset.cpp | 26 ++++++++++++++++++ 3 files changed, 135 insertions(+) create mode 100644 Arrow Operator/Log.cpp create mode 100644 Arrow Operator/main.cpp create mode 100644 Arrow Operator/offset.cpp diff --git a/Arrow Operator/Log.cpp b/Arrow Operator/Log.cpp new file mode 100644 index 0000000..5eab9ef --- /dev/null +++ b/Arrow Operator/Log.cpp @@ -0,0 +1,53 @@ +#include +#include + +class Entity +{ +public : + int x; + + public : + void Print() const //need a const method to process on later + { + std::cout << "Hello!" << std::endl; + } +}; + +class scopedptr +{ +private : + Entity* m_Obj; + public : + scopedptr(Entity* entity) + :m_Obj(entity) + { + } + + ~scopedptr() + { + delete m_Obj; + } + + //Entity* GetObject() { return m_Obj; } + Entity* operator->()//we are overloading it + { + return m_Obj; + } + + const Entity* operator->() const + { + return m_Obj; + } +}; + + + +int main() +{ + const scopedptr entity = new Entity();//like Entity* entity = new Entity(); and for const scoped we need const version of the overloading + //entity.GetObject()->Print(); + entity->Print(); + + std::cin.get(); +} + diff --git a/Arrow Operator/main.cpp b/Arrow Operator/main.cpp new file mode 100644 index 0000000..a620f94 --- /dev/null +++ b/Arrow Operator/main.cpp @@ -0,0 +1,56 @@ +#include +#include + +class Entity +{ +public : + int x; + + public : + void Print() const + { + std::cout << "Hello!" << std::endl; + } +}; + +class scopedptr +{ +private : + Entity* m_Obj; + public : + scopedptr(Entity* entity) + :m_Obj(entity) + { + } + + ~scopedptr() + { + delete m_Obj; + } +}; + + + +int main() +{ + + Entity e; + e.Print(); + + + Entity* ptr = &e; + + ptr->Print();//DEREF Entity ptr + + ptr->x = 2; + //Entity& entity = *ptr;//DEREF + //ptr.Print();//JUST A POINTER or we can do (*ptr).Print(); + //entity.Print(); + + + + std::cin.get(); +} + +// ABOUT HOW ARROW OPERATOR AFFECTS STRUCT AND CLASS POINTERS +// AS an Operator we can overload it and use it on our own custom classes \ No newline at end of file diff --git a/Arrow Operator/offset.cpp b/Arrow Operator/offset.cpp new file mode 100644 index 0000000..a71ec7b --- /dev/null +++ b/Arrow Operator/offset.cpp @@ -0,0 +1,26 @@ +#include +#include + +struct Vector3 +{ + float x, y, z;//if x,z,y we have different layout in memory even though same kinda class +}; + + +int main() +{ + int offset = (int)&((Vector3*)0)->y;//kinda give me a invalid memory without ref and after it will give offset + std::cout << offset << std::endl; + + + /*or + &((Vector3*)nullptr)->x; + */ + + std::cin.get(); +} + +//suppose we need to find offset of this y variable was in the memory +//x is 0 y is 4 and z is 8 bytes in the struct! +//in C++, offset refers to the distance, measured in bytes, from a reference point—typically the beginning of a data structure (like a struct or class)—to a specific member or memory location. +//useful when we serialising data in game engines From b9f8ebecb3c01653c9525f82709ec152a90906e0 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Thu, 12 Feb 2026 02:05:09 +0530 Subject: [PATCH 21/24] About Dynamic array and its properties --- Dynamic Arrays/Vector.cpp | 53 +++++++++++++++++++++++++++++++++++++++ Dynamic Arrays/main.cpp | 30 ++++++++++++++++++++++ 2 files changed, 83 insertions(+) create mode 100644 Dynamic Arrays/Vector.cpp create mode 100644 Dynamic Arrays/main.cpp diff --git a/Dynamic Arrays/Vector.cpp b/Dynamic Arrays/Vector.cpp new file mode 100644 index 0000000..8101c81 --- /dev/null +++ b/Dynamic Arrays/Vector.cpp @@ -0,0 +1,53 @@ +#include +#include +#include + +struct Vertex +{ + float x, y, z; +}; + +std::ostream& operator<<(std::ostream& stream, const Vertex& vertex) +{ + stream << vertex.x << ", " << vertex.y << ", " << vertex.z; + return stream; +} + +void Funtion(const std::vector& vertices) //by const ref we ensuring we are not copying while linking to Dynamic array +{ + +} + +int main() +{ + std::vector vertices; + vertices.push_back({ 1, 2, 3}); //to add stuff .Add in other languages we have constructor here but we have used init list + vertices.push_back({ 4, 5, 6}); + Funtion(vertices); + + for (int i = 0; i < vertices.size(); i++) + std::cout << vertices[i] << std::endl; + + + //vertices.clear(); //make array size back to 0 + vertices.erase(vertices.begin() + 1 ); //to remove 2nd element we cant write like 2 ,it takes const iterator + + for (const Vertex& v : vertices) //range for loops and with const ref we are not copying data + std::cout << v << std::endl; //by writting after erase it did eliminate 2nd element + + + std::cin.get(); +} + + + + // we need to memtion and name adn if there we even can pass primitive types like int float + // pointers placement depends on which type did it take heap or inline stack [class or struct] on vector + // means we need to use vertex pointers or vertex objects + // it is optimal to store vertex obj than vector ptrs + //cause they are inline and dynamic arrays memory are contigious[in row] + //in vector strings everything need to recopy and reallocate for resizing which is slow,where as in ptrs the actual mem stays intact cause were just holding ptrs and that mem stored in diff parts + // moving instead of copying largely solves this particular issue ,but there still some copying which is not ideal + // as vector is a class we do know size + //in c++ we done through index like normal array ,in java it is .get(); + \ No newline at end of file diff --git a/Dynamic Arrays/main.cpp b/Dynamic Arrays/main.cpp new file mode 100644 index 0000000..567be9d --- /dev/null +++ b/Dynamic Arrays/main.cpp @@ -0,0 +1,30 @@ +#include +#include + +struct Vertex +{ + float x, y, z; +}; + +std::ostream& operator<<(std::ostream& stream, const Vertex& vertex) +{ + stream << vertex.x << ", " << vertex.y << ", " << vertex.z; + return stream; +} + +int main() +{ + //Vertex vertices[5]; + Vertex* vertices = new Vertex[5]; + vertices[4]; + + std::cin.get(); +} + +//this is about templated standard library[a library filled with container types contain data] +//whole thing made of templates and data type the conatainer contains that actually you to decide!! +//you can provide the underlying data type that this datastructure actually hanldles +//it called arraylist rather than vector cause these are dynamic arrays !! +//its a set that doesnt enforce any kind of uniqueness to its actual elments so ,unlike arrays these can resize +//suppose we have 10 elements initially and later its 11 we can resize array from 10 to 11[creates new array copies everything from array 10 and delete old one ] +//ignoring std array for static array and size tied to both stack and heap for continously adding inputs we can create array of very large size [not preferrable] \ No newline at end of file From 582db7f134f3975a90e0e6363ee440476728fc37 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Thu, 12 Feb 2026 16:57:30 +0530 Subject: [PATCH 22/24] optimising the factors such as resizing and copying --- Optimising usage -- (std vector)/Log.cpp | 37 +++++++++++++++++++ Optimising usage -- (std vector)/Log.exe | Bin 0 -> 64918 bytes Optimising usage -- (std vector)/main.cpp | 43 ++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 Optimising usage -- (std vector)/Log.cpp create mode 100644 Optimising usage -- (std vector)/Log.exe create mode 100644 Optimising usage -- (std vector)/main.cpp diff --git a/Optimising usage -- (std vector)/Log.cpp b/Optimising usage -- (std vector)/Log.cpp new file mode 100644 index 0000000..b460a7b --- /dev/null +++ b/Optimising usage -- (std vector)/Log.cpp @@ -0,0 +1,37 @@ +#include +#include +#include + +struct Vertex +{ + float x, y, z; + + Vertex(float x, float y, float z) + : x(x), y(y), z(z) + { + } + Vertex(const Vertex& vertex) + :x(vertex.x), y(vertex.y), z(vertex.z) + { + std::cout << "Copied!" << std::endl; + } + +}; + +int main() + { + + std::vector vertices; + vertices.reserve(3); + + vertices.emplace_back(1, 2, 3); + vertices.emplace_back(4, 5, 6); + vertices.emplace_back(7, 8, 9); + + std::cin.get(); + } + + +// to optimise vertex that constructing inside main and copied to vector class,just construct in vector class itself +// just pass the parameter list itself in place of vertex object to get constructed in vector class itself +//tells vector construct a vertex object with the following parameters in place in our actual vector memory \ No newline at end of file diff --git a/Optimising usage -- (std vector)/Log.exe b/Optimising usage -- (std vector)/Log.exe new file mode 100644 index 0000000000000000000000000000000000000000..3046a3a9207fee28753d38ee63e7dc55f313ecb9 GIT binary patch literal 64918 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 M@47Yu8qnVV0lW~g&j0`b literal 0 HcmV?d00001 diff --git a/Optimising usage -- (std vector)/main.cpp b/Optimising usage -- (std vector)/main.cpp new file mode 100644 index 0000000..1a68386 --- /dev/null +++ b/Optimising usage -- (std vector)/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +struct Vertex +{ + float x, y, z; + + Vertex(float x, float y, float z) + : x(x), y(y), z(z) + { + } + Vertex(const Vertex& vertex) + :x(vertex.x), y(vertex.y), z(vertex.z) + { + std::cout << "Copied!" << std::endl; + } + +}; + +int main() + { + + + std::vector vertices; + vertices.reserve(3); //takes capacity of 3 and its not resizing by copying or giving it in constructor is saying just construct it 3 vertices objects vertices(3) but we want memory + + vertices.push_back(Vertex(1, 2, 3)); + vertices.push_back(Vertex(4, 5, 6)); + vertices.push_back(Vertex(7, 8, 9)); // via defualt constructor + + std::cin.get(); + } + + +//This is about optimising using of std::vector class on reallocation and copying [slow code] +// rules of optimisation is basically knowing your environment +//how do things work and what do i need to do exactly and what should happen +// so now optimising about reducing copying our objects!! especially object storing vector class +// WE NEED TO KNOW WHEN COPY CONSTRCTOR CALLING +// constructing this vertex object on inside of our main funtion stack frame then pushing[copying] it to the vertices vector cause copy so can we construct that vertex in place of actual memory vector allocated to us +// vector resizing twice here one by defualt and 2 when moves to 2nd element and 3 moving to 3rd element +// make enough memory to hold vector from beggining is optimising 2 \ No newline at end of file From f4420f27d85fbd73f0986eeac1478a15ba8d22f8 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Fri, 13 Feb 2026 01:03:37 +0530 Subject: [PATCH 23/24] About static local in scopes especially in funtions and how to use them --- Local static/Singleton.cpp | 29 +++++++++++++++++++++++++++++ Local static/main.cpp | 33 +++++++++++++++++++++++++++++++++ Local static/singleton2.cpp | 32 ++++++++++++++++++++++++++++++++ Local static/static.cpp | 22 ++++++++++++++++++++++ 4 files changed, 116 insertions(+) create mode 100644 Local static/Singleton.cpp create mode 100644 Local static/main.cpp create mode 100644 Local static/singleton2.cpp create mode 100644 Local static/static.cpp diff --git a/Local static/Singleton.cpp b/Local static/Singleton.cpp new file mode 100644 index 0000000..bd006b2 --- /dev/null +++ b/Local static/Singleton.cpp @@ -0,0 +1,29 @@ +#include + +class Singleton +{ //WITHOUT STATIC LOCAL + private : + static Singleton* s_Instance; + public : + static Singleton& Get() { return *s_Instance; } + + void Hello() {} + +}; + +Singleton* Singleton::s_Instance = nullptr; //DECLARED + + + +int main() +{ + Singleton::Get().Hello(); + + std::cin.get(); + +} + + + + +//a class should have only one instance in existence \ No newline at end of file diff --git a/Local static/main.cpp b/Local static/main.cpp new file mode 100644 index 0000000..0a46c7b --- /dev/null +++ b/Local static/main.cpp @@ -0,0 +1,33 @@ +#include + +//static int i = 0; //static doesnt matter here by keeping ;problem is this i can be accesable anywhere + +void Funtion() +{ + //static int i = 0; same when we taken int i = 0 outside + + static int i = 0; + i++; + std::cout << i << std::endl; +} + +int main() +{ + Funtion(); + //i = 10; //funtion calls when we keep static var outside + Funtion(); + Funtion(); + Funtion(); + Funtion(); + + std::cin.get(); +} + + +//we can use static in local scope which has 2 different considerations lifetime and scope +//scope means where we can access variable +//in funtion variable is local to the declared funtion +//static local variable gives lifetime until our program ends and only can be accessed inside funtion only +//static in a funtion scope and funtion has same lifetime but different scope in class the var can acccessable in whole class by anything where as in funtion,only accesable in it!! +// without static keyword in funtion we create variable everysingle time we set to 0 and increment by 1 +//we can give static in local scope for not getting accesable by everyone diff --git a/Local static/singleton2.cpp b/Local static/singleton2.cpp new file mode 100644 index 0000000..f1d7563 --- /dev/null +++ b/Local static/singleton2.cpp @@ -0,0 +1,32 @@ +#include + +class Singleton +{ //WITHOUT STATIC LOCAL + + public : + static Singleton& Get() //BY EVERY TIME YOU CALL GET first it construct singleton ionstance then returns existing instance + + { + static Singleton Instance; + return Instance; + + } //WITHOUT STATIC IN FUNTION AS SOON AS SCOPE ENDS SINGLETON DESTROYS[STACK] + + + void Hello() {} + +}; + +int main() +{ + Singleton::Get().Hello(); + + std::cin.get(); + +} + + + + +//a class should have only one instance in existence +//it helps by replacing initialisation funtions where you might call static initialisation funtion at some pt of all ur objects so if use static get methods we can simplify \ No newline at end of file diff --git a/Local static/static.cpp b/Local static/static.cpp new file mode 100644 index 0000000..fa0cd64 --- /dev/null +++ b/Local static/static.cpp @@ -0,0 +1,22 @@ +#include + +void Funtion() +{ + static int i = 0; + i++; + std::cout << i << std::endl; +} + +int main() +{ + Funtion(); + Funtion(); + Funtion(); + Funtion(); + Funtion(); + + std::cin.get(); +} + + +//in this i variable only local to funtion cant be accesable outside From feafe87c3911a99e7b9c0c9b6685a43be27d3ad4 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Mon, 16 Feb 2026 22:54:50 +0530 Subject: [PATCH 24/24] all about static linking and glfw intro --- Using--Libraries/main.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Using--Libraries/main.cpp diff --git a/Using--Libraries/main.cpp b/Using--Libraries/main.cpp new file mode 100644 index 0000000..821f397 --- /dev/null +++ b/Using--Libraries/main.cpp @@ -0,0 +1,28 @@ +//STATIC LINKING + + +//IN OTHER LANGUAGES ADDING LIBRARIES IS VERY TRIVIAL TASK THROUGH PACAKGE MANAGER WHICH DONWLOAD AND INSTALL OTHER LIBRARIES +//BETTER TO ADD ANOTHER PROJECT CONTAINS YOUR SOURCE CODE OF YOUR DEPENDENCY OF YOUR LIBRARY[COPIES OF PHYSICAL BINARIES OR CODE] AND COMPILE TO STATIC OR DYNAMIC LIBRARY WHERE WE CAN COMPILE AND DEBUG FOR LARGE FILES +//LINKING AGINAST BINARIES IS FAST AND IF YOU DONT HAVE ACCESS TO SOURCE CODE + +//NOW ABOUT LINKING AGINAST BINARIES [GLFW], IN WINDOWS PREVIEW OF BINARIES EXIST UNLIKE LINUX AND MAC + +//ALL ABOUT STATIC LINKING WHICH IS FAST THAN DYNAMIC LINKING + +//INCLUDE HAVE HEADER FILES FUNTIONS IN PREBUILT BINARIES AND LIBRARY HAS PRE BUILT BINARIES +// STATIC PUT LIB PUT IN EXE FILE [LINKER], DYNAMIC IN RUNTIME[SEPARATELY IN ANOTHER PROJECT] + +#include +#include + +//int glfwInit() { return 0; } + + +int main() +{ + + int a = glfwInit();//LINKER ERROR[WE HAVEN'T LINKED LIBRARY ] and after defining the funtion it get no error + + std::cin.get(); +} +