From 582db7f134f3975a90e0e6363ee440476728fc37 Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Thu, 12 Feb 2026 16:57:30 +0530 Subject: [PATCH] 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