From d1715a88dd84ef2f37fdf5dbb61cb12d35e902bb Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Wed, 28 Jan 2026 00:09:54 +0530 Subject: [PATCH] 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