From 7f9c4775b953cfda0fb07ecc7a8817b5b855b42a Mon Sep 17 00:00:00 2001 From: Butcher3Years Date: Tue, 27 Jan 2026 20:10:57 +0530 Subject: [PATCH] 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