From 2afe10c1f74f50b2b362c5716390f11c9a70276e Mon Sep 17 00:00:00 2001 From: youspectrum <2725096176@qq.com> Date: Tue, 27 Sep 2022 21:16:39 +0800 Subject: [PATCH] =?UTF-8?q?Link=5FList=20file=20=E6=94=B9=E5=90=8D?= =?UTF-8?q?=E4=B8=BA=20List=20List=20=E6=9B=B4=E6=94=B9=E6=88=90=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E7=B1=BB=20=E6=B7=BB=E5=8A=A0=E4=BA=86=20=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E5=87=BD=E6=95=B0=EF=BC=88=E9=87=8D=E8=BD=BD=EF=BC=89?= =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0=E4=BA=86=20=E5=8D=95=E9=93=BE=20=E5=8D=95?= =?UTF-8?q?=E4=BD=93=20=E5=8D=95=E9=94=AE=20=E8=AE=BE=E8=AE=A1=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 2 +- .../codemodel-v2-05830bec4f0034487f3b.json | 60 --------- .../reply/index-2022-09-25T14-07-17-0281.json | 108 ---------------- ...arget-MSTL-Debug-7d2d0f05e169997e8a2f.json | 120 ------------------ cmake-build-debug/.ninja_deps | Bin 17156 -> 9928 bytes cmake-build-debug/.ninja_log | 24 +--- .../CMakeFiles/MSTL.dir/main.cpp.o | Bin 40064 -> 36448 bytes cmake-build-debug/MSTL | Bin 36432 -> 35024 bytes .../Testing/Temporary/LastTest.log | 4 +- h/Faction.h | 21 +++ h/{LinkList.h => List.h} | 49 +++---- h/Singleton.h | 26 ++++ h/String.h | 8 +- main.cpp | 12 +- 14 files changed, 90 insertions(+), 344 deletions(-) delete mode 100644 cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-05830bec4f0034487f3b.json delete mode 100644 cmake-build-debug/.cmake/api/v1/reply/index-2022-09-25T14-07-17-0281.json delete mode 100644 cmake-build-debug/.cmake/api/v1/reply/target-MSTL-Debug-7d2d0f05e169997e8a2f.json create mode 100644 h/Faction.h rename h/{LinkList.h => List.h} (57%) create mode 100644 h/Singleton.h diff --git a/CMakeLists.txt b/CMakeLists.txt index e357262..4475835 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,4 +3,4 @@ project(MSTL) set(CMAKE_CXX_STANDARD 14) -add_executable(MSTL main.cpp h/String.h h/LinkList.h) +add_executable(MSTL main.cpp h/String.h h/List.h h/Singleton.h h/Faction.h) diff --git a/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-05830bec4f0034487f3b.json b/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-05830bec4f0034487f3b.json deleted file mode 100644 index 6287e03..0000000 --- a/cmake-build-debug/.cmake/api/v1/reply/codemodel-v2-05830bec4f0034487f3b.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "configurations" : - [ - { - "directories" : - [ - { - "build" : ".", - "jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json", - "minimumCMakeVersion" : - { - "string" : "3.23" - }, - "projectIndex" : 0, - "source" : ".", - "targetIndexes" : - [ - 0 - ] - } - ], - "name" : "Debug", - "projects" : - [ - { - "directoryIndexes" : - [ - 0 - ], - "name" : "MSTL", - "targetIndexes" : - [ - 0 - ] - } - ], - "targets" : - [ - { - "directoryIndex" : 0, - "id" : "MSTL::@6890427a1f51a3e7e1df", - "jsonFile" : "target-MSTL-Debug-7d2d0f05e169997e8a2f.json", - "name" : "MSTL", - "projectIndex" : 0 - } - ] - } - ], - "kind" : "codemodel", - "paths" : - { - "build" : "/home/dongl/code/MSTL/cmake-build-debug", - "source" : "/home/dongl/code/MSTL" - }, - "version" : - { - "major" : 2, - "minor" : 4 - } -} diff --git a/cmake-build-debug/.cmake/api/v1/reply/index-2022-09-25T14-07-17-0281.json b/cmake-build-debug/.cmake/api/v1/reply/index-2022-09-25T14-07-17-0281.json deleted file mode 100644 index 9d1947d..0000000 --- a/cmake-build-debug/.cmake/api/v1/reply/index-2022-09-25T14-07-17-0281.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "cmake" : - { - "generator" : - { - "multiConfig" : false, - "name" : "Ninja" - }, - "paths" : - { - "cmake" : "/home/dongl/app/ide/clion/clion-2022.2.1/bin/cmake/linux/bin/cmake", - "cpack" : "/home/dongl/app/ide/clion/clion-2022.2.1/bin/cmake/linux/bin/cpack", - "ctest" : "/home/dongl/app/ide/clion/clion-2022.2.1/bin/cmake/linux/bin/ctest", - "root" : "/home/dongl/app/ide/clion/clion-2022.2.1/bin/cmake/linux/share/cmake-3.23" - }, - "version" : - { - "isDirty" : false, - "major" : 3, - "minor" : 23, - "patch" : 2, - "string" : "3.23.2", - "suffix" : "" - } - }, - "objects" : - [ - { - "jsonFile" : "codemodel-v2-05830bec4f0034487f3b.json", - "kind" : "codemodel", - "version" : - { - "major" : 2, - "minor" : 4 - } - }, - { - "jsonFile" : "cache-v2-471ef0fba02a766483a6.json", - "kind" : "cache", - "version" : - { - "major" : 2, - "minor" : 0 - } - }, - { - "jsonFile" : "cmakeFiles-v1-7c70437388afc6a20846.json", - "kind" : "cmakeFiles", - "version" : - { - "major" : 1, - "minor" : 0 - } - }, - { - "jsonFile" : "toolchains-v1-d06480eadcc461d85546.json", - "kind" : "toolchains", - "version" : - { - "major" : 1, - "minor" : 0 - } - } - ], - "reply" : - { - "cache-v2" : - { - "jsonFile" : "cache-v2-471ef0fba02a766483a6.json", - "kind" : "cache", - "version" : - { - "major" : 2, - "minor" : 0 - } - }, - "cmakeFiles-v1" : - { - "jsonFile" : "cmakeFiles-v1-7c70437388afc6a20846.json", - "kind" : "cmakeFiles", - "version" : - { - "major" : 1, - "minor" : 0 - } - }, - "codemodel-v2" : - { - "jsonFile" : "codemodel-v2-05830bec4f0034487f3b.json", - "kind" : "codemodel", - "version" : - { - "major" : 2, - "minor" : 4 - } - }, - "toolchains-v1" : - { - "jsonFile" : "toolchains-v1-d06480eadcc461d85546.json", - "kind" : "toolchains", - "version" : - { - "major" : 1, - "minor" : 0 - } - } - } -} diff --git a/cmake-build-debug/.cmake/api/v1/reply/target-MSTL-Debug-7d2d0f05e169997e8a2f.json b/cmake-build-debug/.cmake/api/v1/reply/target-MSTL-Debug-7d2d0f05e169997e8a2f.json deleted file mode 100644 index 89daca4..0000000 --- a/cmake-build-debug/.cmake/api/v1/reply/target-MSTL-Debug-7d2d0f05e169997e8a2f.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "artifacts" : - [ - { - "path" : "MSTL" - } - ], - "backtrace" : 1, - "backtraceGraph" : - { - "commands" : - [ - "add_executable" - ], - "files" : - [ - "CMakeLists.txt" - ], - "nodes" : - [ - { - "file" : 0 - }, - { - "command" : 0, - "file" : 0, - "line" : 6, - "parent" : 0 - } - ] - }, - "compileGroups" : - [ - { - "compileCommandFragments" : - [ - { - "fragment" : "-g" - }, - { - "fragment" : "-std=gnu++14" - } - ], - "language" : "CXX", - "languageStandard" : - { - "backtraces" : - [ - 1 - ], - "standard" : "14" - }, - "sourceIndexes" : - [ - 0 - ] - } - ], - "id" : "MSTL::@6890427a1f51a3e7e1df", - "link" : - { - "commandFragments" : - [ - { - "fragment" : "-g", - "role" : "flags" - }, - { - "fragment" : "", - "role" : "flags" - } - ], - "language" : "CXX" - }, - "name" : "MSTL", - "nameOnDisk" : "MSTL", - "paths" : - { - "build" : ".", - "source" : "." - }, - "sourceGroups" : - [ - { - "name" : "Source Files", - "sourceIndexes" : - [ - 0 - ] - }, - { - "name" : "Header Files", - "sourceIndexes" : - [ - 1, - 2 - ] - } - ], - "sources" : - [ - { - "backtrace" : 1, - "compileGroupIndex" : 0, - "path" : "main.cpp", - "sourceGroupIndex" : 0 - }, - { - "backtrace" : 1, - "path" : "h/String.h", - "sourceGroupIndex" : 1 - }, - { - "backtrace" : 1, - "path" : "h/LinkList.h", - "sourceGroupIndex" : 1 - } - ], - "type" : "EXECUTABLE" -} diff --git a/cmake-build-debug/.ninja_deps b/cmake-build-debug/.ninja_deps index 98cc5ffbdd16f279777ceacf6288389f0de3d508..bcc653f2b63f8a344a902a897d3183162999e6a1 100644 GIT binary patch delta 73 zcmZo^V?5!z;fE5V#^j0i(vx4P3QV40-vi;vxg{o-Waj7TWiT)>c>MqW{{<661CYs( Yqs@2a#Lmt4G)^&1{^BISvK=S}00;CN5dZ)H delta 246 zcmX@%+tS9k;fE661tx|D1|aAxdT>5fe)B8kV@#7bD9cP1Q5N940+pMt!?=b?0VsEh z2`=`skS|mnO-wo~{)#r5SmVrN?k;Fz?`N%i>47G8m}$0m4w~46(w{GL(ZnV;O0OwK l6Z3vq!&3?oV^o>EQCWJjgK`1i6R7LA7S2$90+PMO1OTq1P~HFl diff --git a/cmake-build-debug/.ninja_log b/cmake-build-debug/.ninja_log index acbd072..d5e96a5 100644 --- a/cmake-build-debug/.ninja_log +++ b/cmake-build-debug/.ninja_log @@ -1,23 +1,3 @@ # ninja log v5 -0 176 1664114584453149321 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -176 227 1664114584501149051 MSTL 5fce564c316cd3aa -0 196 1664115258161179799 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -196 250 1664115258213179483 MSTL 5fce564c316cd3aa -1 206 1664115415616221673 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -206 253 1664115415664221380 MSTL 5fce564c316cd3aa -0 195 1664115434932103707 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -195 247 1664115434984103389 MSTL 5fce564c316cd3aa -0 186 1664115539947460993 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -186 238 1664115539995460699 MSTL 5fce564c316cd3aa -0 185 1664115559843338991 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -185 234 1664115559891338697 MSTL 5fce564c316cd3aa -0 187 1664115711810405059 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -187 236 1664115711858404763 MSTL 5fce564c316cd3aa -0 183 1664115718762362256 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -183 233 1664115718810361961 MSTL 5fce564c316cd3aa -0 180 1664115743494209937 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -180 229 1664115743542209642 MSTL 5fce564c316cd3aa -0 181 1664115749406173515 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -181 230 1664115749454173219 MSTL 5fce564c316cd3aa -1 192 1664116226535223733 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 -192 243 1664116226587223410 MSTL 5fce564c316cd3aa +0 188 1664284334515694444 CMakeFiles/MSTL.dir/main.cpp.o 134556d569115d52 +188 243 1664284334567693897 MSTL 5fce564c316cd3aa diff --git a/cmake-build-debug/CMakeFiles/MSTL.dir/main.cpp.o b/cmake-build-debug/CMakeFiles/MSTL.dir/main.cpp.o index fec3019724315270087c81d33b35cdcd04982ad0..9b5a22c2b61190134b5ede4826d4d4ddc92e5a08 100644 GIT binary patch literal 36448 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 z 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 diff --git a/cmake-build-debug/MSTL b/cmake-build-debug/MSTL index a130e4ae8ddacef3dfedf8dd73253848a7608195..5757a659a1bea0c3e5cc0ee6fa53b3f5d7ea17b5 100755 GIT binary patch literal 35024 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 UX8GffBmd&XTK=L8fsCyBPp`+A^#A|> literal 36432 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 KZI(b*RQ(Sx4#&>` diff --git a/cmake-build-debug/Testing/Temporary/LastTest.log b/cmake-build-debug/Testing/Temporary/LastTest.log index 9364158..7978312 100644 --- a/cmake-build-debug/Testing/Temporary/LastTest.log +++ b/cmake-build-debug/Testing/Temporary/LastTest.log @@ -1,3 +1,3 @@ -Start testing: Sep 25 22:30 CST +Start testing: Sep 27 21:14 CST ---------------------------------------------------------- -End testing: Sep 25 22:30 CST +End testing: Sep 27 21:14 CST diff --git a/h/Faction.h b/h/Faction.h new file mode 100644 index 0000000..b820d9f --- /dev/null +++ b/h/Faction.h @@ -0,0 +1,21 @@ +// +// Created by dongl on 22-9-27. +// + +#ifndef MSTL_FACTION_H +#define MSTL_FACTION_H + +#endif //MSTL_FACTION_H + +// 转换函数 重载 +class Faction{ +public: + Faction(int num, int den = 1):m_numerator(num),m_denominator(den){} + + operator double() const{ + return (double) m_numerator / m_denominator; + } +private: + int m_numerator; // 分子 + int m_denominator; // 分母 +}; \ No newline at end of file diff --git a/h/LinkList.h b/h/List.h similarity index 57% rename from h/LinkList.h rename to h/List.h index 0b5b36c..3f5d023 100644 --- a/h/LinkList.h +++ b/h/List.h @@ -8,38 +8,40 @@ #include #endif //CPP_LINKLIST_H - +template class LNode{ - - friend class Link; - public: - int data = 0x0; -private: - LNode *next = nullptr; - void update(int el){ + U data; + + LNode *next = nullptr; + + LNode(): next(nullptr){ + + } + void update(U el){ data = el; } }; -class Link{ - LNode *lNode = (LNode*) new LNode; +template +class List{ + LNode *lNode = new LNode; unsigned int _length = 0; - LNode* _begin = lNode; + LNode* _begin = lNode; public: - Link(){ + List(){ } - void add(int el){ - lNode = lNode->next = new LNode; + void add(T el){ + lNode = lNode->next = new LNode; lNode->data = el; _length++; - lNode->next = new LNode; + lNode->next = new LNode; }; - int get(int index){ + int get(T index){ int el; - LNode* node = _begin; + LNode* node = _begin; for (int i = 0; i < index; ++i) { node = node->next; el = node->data; @@ -49,21 +51,22 @@ public: void remove(unsigned int index){ if(index > _length+1) - std::cout << "超越范围之外" << std::endl; + std::cerr << "超越范围之外:" << __FILE__ << + ":" <<__LINE__ <* begin = _begin; for (int i = 1; i < index; ++i) { begin = _begin->next; } - LNode* node = begin->next; + LNode* node = begin->next; begin->next = begin->next->next; delete node; _length--; } - void update(int index, int el){ - LNode* node; + void update(int index, T el){ + LNode* node; for (int i = 0; i < index; ++i) { node = _begin->next; } @@ -74,7 +77,7 @@ public: return _length; } - LNode*& begin(){ + LNode*& begin(){ return _begin->next; } }; diff --git a/h/Singleton.h b/h/Singleton.h new file mode 100644 index 0000000..3f4bad9 --- /dev/null +++ b/h/Singleton.h @@ -0,0 +1,26 @@ +// +// Created by dongl on 22-9-26. +// + +#ifndef MSTL_SINGLETON_H +#define MSTL_SINGLETON_H + +#endif //MSTL_SINGLETON_H + + +/// 设计模式 单链 单体 单键 +class A{ +public: + static A& getInstance(); + void setup(){ + + } +private: + A(); + A(const A& rhs); +}; + +A& A::getInstance() { + static A a; + return a; +} diff --git a/h/String.h b/h/String.h index 247b3fc..45b2038 100644 --- a/h/String.h +++ b/h/String.h @@ -61,7 +61,13 @@ String::String(const String& str) { } inline -String &String::operator=(const String &str) { +String &String::operator=(const String& str) { // String& 引用 + // 拷贝赋值 是否是自我赋值 + // 来源端与目的端是否相同 指针对比地址 &str取地址 + if(this == &str){ + return *this; + } + // 目的端 本来存在 delete[] m_data; // 在重新申请一块空间 堆 diff --git a/main.cpp b/main.cpp index 73f83ab..5b3f538 100644 --- a/main.cpp +++ b/main.cpp @@ -1,13 +1,11 @@ #include -#include "h/LinkList.h" +#include "h/List.h" #include "h/String.h" +#include "h/Faction.h" int main() { - String string("123456"); - // 赋值 重载函数 返回了 *this - // 这使得以 目的值具有 对象的this - // 更改的值 不在函数内 而是申请的堆中 - String str = string; - std::cout << str.get_c_str() << std::endl; + double f = *new Faction(7,5); + + std::cout << f << std::endl; return 0; }