commit 254d523aa5637e5a564312b5312c6d3eefea167a Author: Lenyiin <569963146@qq.com> Date: Sun Sep 8 16:41:26 2024 +0800 博客 https://blog.lenyiin.com/cpp-list/ 的代码仓库 diff --git a/Linux/List.cc b/Linux/List.cc new file mode 100644 index 0000000..5cff550 --- /dev/null +++ b/Linux/List.cc @@ -0,0 +1,172 @@ +#include "List.hpp" + +using namespace Lenyiin; + +void print(const List <) +{ + List::const_iterator it = lt.begin(); + while (it != lt.end()) + { + cout << *it << " "; + ++it; + } + cout << endl; +} + +void print_reverse(const List <) +{ + List::const_reverse_iterator it = lt.rbegin(); + while (it != lt.rend()) + { + cout << *it << " "; + ++it; + } + cout << endl; +} + +// 测试遍历 +void test_1() +{ + List lt; + lt.push_back(1); + lt.push_back(2); + lt.push_back(3); + lt.push_back(4); + lt.push_back(5); + + // iterator + cout << "iterator \t\t遍历: "; + List::iterator it = lt.begin(); + while (it != lt.end()) + { + cout << *it << " "; + it++; + } + cout << endl; + + // const_iterator + cout << "const_iterator \t\t遍历: "; + print(lt); + + // for + cout << "for \t\t\t遍历: "; + for (auto &it : lt) + { + cout << it << " "; + } + cout << endl; + + cout << "for const \t\t遍历: "; + for (const auto &it : lt) + { + cout << it << " "; + } + cout << endl; + + // reverse iterator + cout << "reverse iterator \t遍历: "; + List::reverse_iterator rit = lt.rbegin(); + while (rit != lt.rend()) + { + cout << *rit << " "; + rit++; + } + cout << endl; + + // const reverse iterator + cout << "const reverse iterator \t遍历: "; + print_reverse(lt); +} + +// 测试插入删除 +void test_2() +{ + List lt; + lt.push_back(1); + lt.push_back(2); + lt.push_back(3); + lt.push_back(4); + lt.push_back(5); + + print(lt); + + lt.erase(lt.begin()); + print(lt); + + lt.pop_back(); + print(lt); + + lt.pop_front(); + print(lt); + + lt.push_front(100); + print(lt); +} + +void test_3() +{ + // 默认构造 + List lt1; + lt1.push_back(1); + lt1.push_back(2); + lt1.push_back(3); + lt1.push_back(4); + lt1.push_back(5); + print(lt1); + + // 拷贝构造 + List lt2(lt1); + print(lt2); + lt2.push_back(6); + lt2.push_back(7); + lt2.push_back(8); + lt2.push_back(9); + lt2.push_back(10); + print(lt2); + + // 赋值运算 + lt1 = lt2; + print(lt1); +} + +// 模板 +struct Date +{ + int _year; + int _month; + int _day; + + Date(int year = 0, int month = 1, int day = 1) + : _year(year), _month(month), _day(day) + { + } +}; + +void test_4() +{ + List lt; + lt.push_back(Date()); + lt.push_back(Date(2022, 2, 22)); + lt.push_back(Date(2024, 9, 8)); + + List::iterator it = lt.begin(); + while (it != lt.end()) + { + // cout << *it << " "; + // operator-> operator* + cout << it->_year << "-" << it->_month << "-" << it->_day << endl; // 更喜欢这么去用 + cout << (*it)._year << "-" << (*it)._month << "-" << (*it)._day << endl; + it++; + } + cout << endl; +} + +int main() +{ + // test_1(); + // test_2(); + // test_3(); + test_4(); + + return 0; +} \ No newline at end of file diff --git a/Linux/List.hpp b/Linux/List.hpp new file mode 100644 index 0000000..6c4f2f5 --- /dev/null +++ b/Linux/List.hpp @@ -0,0 +1,367 @@ +#pragma once + +#include +#include + +using namespace std; + +namespace Lenyiin +{ + template + struct __list_node + { + __list_node *_next; // 指向后一个节点的指针 + __list_node *_prev; // 指向前一个节点的指针 + T _data; // 节点存储的数据 + + __list_node(const T &data = T()) + : _data(data), _next(nullptr), _prev(nullptr) + { + } + }; + + template + struct __list_iterator + { + typedef __list_node Node; + typedef __list_iterator Self; + + Node *_node; + + // 默认构造 + __list_iterator(Node *node) + : _node(node) + { + } + + // 运算符重载 + // *it + Ref operator*() + { + return _node->_data; + } + + // it -> + Ptr operator->() + { + return &_node->_data; + } + + // ++it + Self &operator++() + { + _node = _node->_next; + return *this; + } + + // it++ + Self operator++(int) + { + Self tmp(*this); + ++(*this); + return tmp; + } + + // --it + Self &operator--() + { + _node = _node->_prev; + return *this; + } + + // it-- + Self operator--(int) + { + Self tmp(*this); + --(*this); + return tmp; + } + + // it != end() + bool operator!=(const Self &it) + { + return _node != it._node; + } + + bool operator==(const Self &it) + { + return _node == it._node; + } + }; + + template + struct __list_reverse_iterator + { + typedef __list_node Node; + typedef __list_reverse_iterator Self; + + Node *_node; + + // 默认构造 + __list_reverse_iterator(Node *node) + : _node(node) + { + } + + // 运算符重载 + // *it + Ref operator*() + { + return _node->_data; + } + + // it -> + Ptr operator->() + { + return &_node->_data; + } + + // ++it + Self &operator++() + { + _node = _node->_prev; + return *this; + } + + // it++ + Self operator++(int) + { + Self tmp(*this); + ++(*this); + return tmp; + } + + // --it + Self &operator--() + { + _node = _node->_next; + return *this; + } + + // it-- + Self operator--(int) + { + Self tmp(*this); + --(*this); + return tmp; + } + + // it != end() + bool operator!=(const Self &it) + { + return _node != it._node; + } + + bool operator==(const Self &it) + { + return _node == it._node; + } + }; + + template + class List + { + typedef __list_node Node; + + public: + typedef __list_iterator iterator; + typedef __list_iterator const_iterator; + typedef __list_reverse_iterator reverse_iterator; + typedef __list_reverse_iterator const_reverse_iterator; + + iterator begin() // 返回头节点的下一个节点 + { + return iterator(_head->_next); + } + + iterator end() // 返回头节点 + { + return iterator(_head); + } + + const_iterator begin() const + { + return const_iterator(_head->_next); + } + + const_iterator end() const + { + return const_iterator(_head); + } + + reverse_iterator rbegin() // 返回头节点的下一个节点 + { + return reverse_iterator(_head->_prev); + } + + reverse_iterator rend() // 返回头节点 + { + return reverse_iterator(_head); + } + + const_reverse_iterator rbegin() const + { + return const_reverse_iterator(_head->_prev); + } + + const_reverse_iterator rend() const + { + return const_reverse_iterator(_head); + } + + public: + // 带头双向循环链表 + // 默认构造 + List() + { + _head = new Node; + _head->_next = _head; + _head->_prev = _head; + } + + // 拷贝构造 + List(const List <) + { + _head = new Node; + _head->_next = _head; + _head->_prev = _head; + + for (const auto &e : lt) + { + push_back(e); + } + } + + // 赋值运算符 + // List& operator=(const List& lt) + //{ + // if (this != <) + // { + // clear(); + // for (const auto& e : lt) + // { + // push_back(e); + // } + // } + // return *this; + //} + + // 进阶写法 + List &operator=(List lt) + { + std::swap(_head, lt._head); + return *this; + } + + // 清除 + void clear() + { + iterator it = begin(); + while (it != end()) + { + erase(it++); + } + } + + // 析构函数 + ~List() + { + clear(); + delete _head; + _head = nullptr; + } + + // 结构设计的优势, 有没有数据, 插入的逻辑都是一样的 + // void push_back(const T& data) + //{ + // Node* tail = _head->_prev; + // Node* newnode = new Node(data); + // tail->_next = newnode; + // newnode->_prev = tail; + // newnode->_next = _head; + // _head->_prev = newnode; + //} + + // void push_front(const T& data) + //{ + // Node* cur = _head->_next; + // Node* newnode = new Node(data); + + // _head->_next = newnode; + // newnode->_prev = _head; + // newnode->_next = cur; + // cur->_prev = newnode; + //} + + void push_back(const T &data) + { + insert(end(), data); + } + + void push_front(const T &data) + { + insert(begin(), data); + } + + // void pop_back() + //{ + // Node* tail = _head->_prev; + // Node* prev = tail->_prev; + + // delete tail; + // prev->_next = _head; + // _head->_prev = prev; + //} + + // void pop_front() + //{ + // Node* head = _head->_next; + // Node* next = head->_next; + + // delete head; + // _head->_next = next; + // next->_prev = _head; + //} + + void pop_back() + { + erase(--end()); + } + + void pop_front() + { + erase(begin()); + } + + void insert(iterator pos, const T &data) + { + Node *cur = pos._node; + Node *prev = cur->_prev; + Node *newnode = new Node(data); + + // prev newnode cur + prev->_next = newnode; + newnode->_prev = prev; + newnode->_next = cur; + cur->_prev = newnode; + } + + iterator erase(iterator pos) + { + assert(pos != end()); + + Node *cur = pos._node; + Node *prev = cur->_prev; + Node *next = cur->_next; + delete cur; + + prev->_next = next; + next->_prev = prev; + + return next; + } + + private: + Node *_head; + }; +} \ No newline at end of file diff --git a/Linux/Makefile b/Linux/Makefile new file mode 100644 index 0000000..f05274c --- /dev/null +++ b/Linux/Makefile @@ -0,0 +1,6 @@ +list:List.cc + g++ -o $@ $^ + +.PHONY:clean +clean: + rm -f list \ No newline at end of file diff --git a/Linux/list b/Linux/list new file mode 100644 index 0000000..3b21f52 Binary files /dev/null and b/Linux/list differ diff --git a/Windows_List/.vs/Windows_List/FileContentIndex/3969fb05-76cf-4e83-8132-f8906de968aa.vsidx b/Windows_List/.vs/Windows_List/FileContentIndex/3969fb05-76cf-4e83-8132-f8906de968aa.vsidx new file mode 100644 index 0000000..5e93f6b Binary files /dev/null and b/Windows_List/.vs/Windows_List/FileContentIndex/3969fb05-76cf-4e83-8132-f8906de968aa.vsidx differ diff --git a/Windows_List/.vs/Windows_List/FileContentIndex/79ada7d4-75a9-4121-b99c-3846b4179a88.vsidx b/Windows_List/.vs/Windows_List/FileContentIndex/79ada7d4-75a9-4121-b99c-3846b4179a88.vsidx new file mode 100644 index 0000000..41cc2a3 Binary files /dev/null and b/Windows_List/.vs/Windows_List/FileContentIndex/79ada7d4-75a9-4121-b99c-3846b4179a88.vsidx differ diff --git a/Windows_List/.vs/Windows_List/FileContentIndex/b5ade61e-c3f7-4f42-a3ed-995519c8430f.vsidx b/Windows_List/.vs/Windows_List/FileContentIndex/b5ade61e-c3f7-4f42-a3ed-995519c8430f.vsidx new file mode 100644 index 0000000..2f95035 Binary files /dev/null and b/Windows_List/.vs/Windows_List/FileContentIndex/b5ade61e-c3f7-4f42-a3ed-995519c8430f.vsidx differ diff --git a/Windows_List/.vs/Windows_List/v17/.suo b/Windows_List/.vs/Windows_List/v17/.suo new file mode 100644 index 0000000..8d1d96d Binary files /dev/null and b/Windows_List/.vs/Windows_List/v17/.suo differ diff --git a/Windows_List/.vs/Windows_List/v17/Browse.VC.db b/Windows_List/.vs/Windows_List/v17/Browse.VC.db new file mode 100644 index 0000000..17cef77 Binary files /dev/null and b/Windows_List/.vs/Windows_List/v17/Browse.VC.db differ diff --git a/Windows_List/.vs/Windows_List/v17/ipch/AutoPCH/47315ad79c8b6b5/LIST.ipch b/Windows_List/.vs/Windows_List/v17/ipch/AutoPCH/47315ad79c8b6b5/LIST.ipch new file mode 100644 index 0000000..a90ea9c Binary files /dev/null and b/Windows_List/.vs/Windows_List/v17/ipch/AutoPCH/47315ad79c8b6b5/LIST.ipch differ diff --git a/Windows_List/.vs/Windows_List/v17/ipch/AutoPCH/a6710cad44e5f4bc/LIST.ipch b/Windows_List/.vs/Windows_List/v17/ipch/AutoPCH/a6710cad44e5f4bc/LIST.ipch new file mode 100644 index 0000000..2fccf0a Binary files /dev/null and b/Windows_List/.vs/Windows_List/v17/ipch/AutoPCH/a6710cad44e5f4bc/LIST.ipch differ diff --git a/Windows_List/List.cpp b/Windows_List/List.cpp new file mode 100644 index 0000000..8b0cb21 --- /dev/null +++ b/Windows_List/List.cpp @@ -0,0 +1,171 @@ +#include "List.hpp" + +using namespace Lenyiin; + +void print(const List& lt) +{ + List::const_iterator it = lt.begin(); + while (it != lt.end()) + { + cout << *it << " "; + ++it; + } + cout << endl; +} + +void print_reverse(const List& lt) +{ + List::const_reverse_iterator it = lt.rbegin(); + while (it != lt.rend()) + { + cout << *it << " "; + ++it; + } + cout << endl; +} + +// Ա +void test_1() +{ + List lt; + lt.push_back(1); + lt.push_back(2); + lt.push_back(3); + lt.push_back(4); + lt.push_back(5); + + // iterator + cout << "iterator \t\t: "; + List::iterator it = lt.begin(); + while (it != lt.end()) + { + cout << *it << " "; + it++; + } + cout << endl; + + // const_iterator + cout << "const_iterator \t\t: "; + print(lt); + + // for + cout << "for \t\t\t: "; + for (auto& it : lt) + { + cout << it << " "; + } + cout << endl; + + cout << "for const \t\t: "; + for (const auto& it : lt) + { + cout << it << " "; + } + cout << endl; + + // reverse iterator + cout << "reverse iterator \t: "; + List::reverse_iterator rit = lt.rbegin(); + while (rit != lt.rend()) + { + cout << *rit << " "; + rit++; + } + cout << endl; + + // const reverse iterator + cout << "const reverse iterator \t: "; + print_reverse(lt); +} + +// Բɾ +void test_2() +{ + List lt; + lt.push_back(1); + lt.push_back(2); + lt.push_back(3); + lt.push_back(4); + lt.push_back(5); + + print(lt); + + lt.erase(lt.begin()); + print(lt); + + lt.pop_back(); + print(lt); + + lt.pop_front(); + print(lt); + + lt.push_front(100); + print(lt); +} + +void test_3() +{ + // ĬϹ + List lt1; + lt1.push_back(1); + lt1.push_back(2); + lt1.push_back(3); + lt1.push_back(4); + lt1.push_back(5); + print(lt1); + + // + List lt2(lt1); + print(lt2); + lt2.push_back(6); + lt2.push_back(7); + lt2.push_back(8); + lt2.push_back(9); + lt2.push_back(10); + print(lt2); + + // ֵ + lt1 = lt2; + print(lt1); +} + +// ģ +struct Date +{ + int _year; + int _month; + int _day; + + Date(int year = 0, int month = 1, int day = 1) + : _year(year), _month(month), _day(day) + {} +}; + +void test_4() +{ + List lt; + lt.push_back(Date()); + lt.push_back(Date(2022, 2, 22)); + lt.push_back(Date(2024, 9, 8)); + + List::iterator it = lt.begin(); + while (it != lt.end()) + { + // cout << *it << " "; + // operator-> operator* + cout << it->_year << "-" << it->_month << "-" << it->_day << endl; // ϲôȥ + cout << (*it)._year << "-" << (*it)._month << "-" << (*it)._day << endl; + it++; + } + cout << endl; +} + +int main() +{ + test_1(); + //test_2(); + //test_3(); + //test_4(); + + return 0; +} \ No newline at end of file diff --git a/Windows_List/List.hpp b/Windows_List/List.hpp new file mode 100644 index 0000000..d0380a7 --- /dev/null +++ b/Windows_List/List.hpp @@ -0,0 +1,367 @@ +#pragma once + + +#include +#include + +using namespace std; + +namespace Lenyiin +{ + template + struct __list_node + { + __list_node* _next; // ָһڵָ + __list_node* _prev; // ָǰһڵָ + T _data; // ڵ洢 + + __list_node(const T& data = T()) + : _data(data), _next(nullptr), _prev(nullptr) + {} + }; + + template + struct __list_iterator + { + typedef __list_node Node; + typedef __list_iterator Self; + + Node* _node; + + // ĬϹ + __list_iterator(Node* node) + : _node(node) + { + } + + // + // *it + Ref operator*() + { + return _node->_data; + } + + // it -> + Ptr operator->() + { + return &_node->_data; + } + + // ++it + Self& operator++() + { + _node = _node->_next; + return *this; + } + + // it++ + Self operator++(int) + { + Self tmp(*this); + ++(*this); + return tmp; + } + + // --it + Self& operator--() + { + _node = _node->_prev; + return *this; + } + + // it-- + Self operator--(int) + { + Self tmp(*this); + --(*this); + return tmp; + } + + // it != end() + bool operator!=(const Self& it) + { + return _node != it._node; + } + + bool operator==(const Self& it) + { + return _node == it._node; + } + }; + + template + struct __list_reverse_iterator + { + typedef __list_node Node; + typedef __list_reverse_iterator Self; + + Node* _node; + + // ĬϹ + __list_reverse_iterator(Node* node) + : _node(node) + { + } + + // + // *it + Ref operator*() + { + return _node->_data; + } + + // it -> + Ptr operator->() + { + return &_node->_data; + } + + // ++it + Self& operator++() + { + _node = _node->_prev; + return *this; + } + + // it++ + Self operator++(int) + { + Self tmp(*this); + ++(*this); + return tmp; + } + + // --it + Self& operator--() + { + _node = _node->_next; + return *this; + } + + // it-- + Self operator--(int) + { + Self tmp(*this); + --(*this); + return tmp; + } + + // it != end() + bool operator!=(const Self& it) + { + return _node != it._node; + } + + bool operator==(const Self& it) + { + return _node == it._node; + } + }; + + template + class List + { + typedef __list_node Node; + + public: + typedef __list_iterator iterator; + typedef __list_iterator const_iterator; + typedef __list_reverse_iterator reverse_iterator; + typedef __list_reverse_iterator const_reverse_iterator; + + iterator begin() // ͷڵһڵ + { + return iterator(_head->_next); + } + + iterator end() // ͷڵ + { + return iterator(_head); + } + + const_iterator begin() const + { + return const_iterator(_head->_next); + } + + const_iterator end() const + { + return const_iterator(_head); + } + + reverse_iterator rbegin() // ͷڵһڵ + { + return reverse_iterator(_head->_prev); + } + + reverse_iterator rend() // ͷڵ + { + return reverse_iterator(_head); + } + + const_reverse_iterator rbegin() const + { + return const_reverse_iterator(_head->_prev); + } + + const_reverse_iterator rend() const + { + return const_reverse_iterator(_head); + } + + public: + // ͷ˫ѭ + // ĬϹ + List() + { + _head = new Node; + _head->_next = _head; + _head->_prev = _head; + } + + // + List(const List& lt) + { + _head = new Node; + _head->_next = _head; + _head->_prev = _head; + + for (const auto& e : lt) + { + push_back(e); + } + } + + // ֵ + //List& operator=(const List& lt) + //{ + // if (this != <) + // { + // clear(); + // for (const auto& e : lt) + // { + // push_back(e); + // } + // } + // return *this; + //} + + // д + List& operator=(List lt) + { + std::swap(_head, lt._head); + return *this; + } + + // + void clear() + { + iterator it = begin(); + while (it != end()) + { + erase(it++); + } + } + + // + ~List() + { + clear(); + delete _head; + _head = nullptr; + } + + // ṹƵ, û, ߼һ + //void push_back(const T& data) + //{ + // Node* tail = _head->_prev; + // Node* newnode = new Node(data); + // tail->_next = newnode; + // newnode->_prev = tail; + // newnode->_next = _head; + // _head->_prev = newnode; + //} + + //void push_front(const T& data) + //{ + // Node* cur = _head->_next; + // Node* newnode = new Node(data); + + // _head->_next = newnode; + // newnode->_prev = _head; + // newnode->_next = cur; + // cur->_prev = newnode; + //} + + void push_back(const T& data) + { + insert(end(), data); + } + + void push_front(const T& data) + { + insert(begin(), data); + } + + //void pop_back() + //{ + // Node* tail = _head->_prev; + // Node* prev = tail->_prev; + + // delete tail; + // prev->_next = _head; + // _head->_prev = prev; + //} + + //void pop_front() + //{ + // Node* head = _head->_next; + // Node* next = head->_next; + + // delete head; + // _head->_next = next; + // next->_prev = _head; + //} + + void pop_back() + { + erase(--end()); + } + + void pop_front() + { + erase(begin()); + } + + void insert(iterator pos, const T& data) + { + Node* cur = pos._node; + Node* prev = cur->_prev; + Node* newnode = new Node(data); + + // prev newnode cur + prev->_next = newnode; + newnode->_prev = prev; + newnode->_next = cur; + cur->_prev = newnode; + } + + iterator erase(iterator pos) + { + assert(pos != end()); + + Node* cur = pos._node; + Node* prev = cur->_prev; + Node* next = cur->_next; + delete cur; + + prev->_next = next; + next->_prev = prev; + + return next; + } + + private: + Node* _head; + }; +} \ No newline at end of file diff --git a/Windows_List/Windows_List.sln b/Windows_List/Windows_List.sln new file mode 100644 index 0000000..43de9e9 --- /dev/null +++ b/Windows_List/Windows_List.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.7.34221.43 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Windows_List", "Windows_List.vcxproj", "{793D4CC3-54E8-4F18-89A3-39B4682A6BE5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {793D4CC3-54E8-4F18-89A3-39B4682A6BE5}.Debug|x64.ActiveCfg = Debug|x64 + {793D4CC3-54E8-4F18-89A3-39B4682A6BE5}.Debug|x64.Build.0 = Debug|x64 + {793D4CC3-54E8-4F18-89A3-39B4682A6BE5}.Debug|x86.ActiveCfg = Debug|Win32 + {793D4CC3-54E8-4F18-89A3-39B4682A6BE5}.Debug|x86.Build.0 = Debug|Win32 + {793D4CC3-54E8-4F18-89A3-39B4682A6BE5}.Release|x64.ActiveCfg = Release|x64 + {793D4CC3-54E8-4F18-89A3-39B4682A6BE5}.Release|x64.Build.0 = Release|x64 + {793D4CC3-54E8-4F18-89A3-39B4682A6BE5}.Release|x86.ActiveCfg = Release|Win32 + {793D4CC3-54E8-4F18-89A3-39B4682A6BE5}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {5D9BB196-7D7F-4F17-8B2A-1534A71A307B} + EndGlobalSection +EndGlobal diff --git a/Windows_List/Windows_List.vcxproj b/Windows_List/Windows_List.vcxproj new file mode 100644 index 0000000..4fb87c8 --- /dev/null +++ b/Windows_List/Windows_List.vcxproj @@ -0,0 +1,138 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + Win32Proj + {793d4cc3-54e8-4f18-89a3-39b4682a6be5} + WindowsList + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + + Level3 + true + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + Level3 + true + _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + + + + + Level3 + true + true + true + NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + Console + true + true + true + + + + + + + + + + + + \ No newline at end of file diff --git a/Windows_List/Windows_List.vcxproj.filters b/Windows_List/Windows_List.vcxproj.filters new file mode 100644 index 0000000..89fd33a --- /dev/null +++ b/Windows_List/Windows_List.vcxproj.filters @@ -0,0 +1,27 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + 头文件 + + + + + 源文件 + + + \ No newline at end of file diff --git a/Windows_List/Windows_List.vcxproj.user b/Windows_List/Windows_List.vcxproj.user new file mode 100644 index 0000000..88a5509 --- /dev/null +++ b/Windows_List/Windows_List.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Windows_List/x64/Debug/List.obj b/Windows_List/x64/Debug/List.obj new file mode 100644 index 0000000..19b23e0 Binary files /dev/null and b/Windows_List/x64/Debug/List.obj differ diff --git a/Windows_List/x64/Debug/Windows_List.exe b/Windows_List/x64/Debug/Windows_List.exe new file mode 100644 index 0000000..6e4169f Binary files /dev/null and b/Windows_List/x64/Debug/Windows_List.exe differ diff --git a/Windows_List/x64/Debug/Windows_List.exe.recipe b/Windows_List/x64/Debug/Windows_List.exe.recipe new file mode 100644 index 0000000..221e15b --- /dev/null +++ b/Windows_List/x64/Debug/Windows_List.exe.recipe @@ -0,0 +1,11 @@ + + + + + E:\Git 仓库\公开仓库\5_List\Windows_List\x64\Debug\Windows_List.exe + + + + + + \ No newline at end of file diff --git a/Windows_List/x64/Debug/Windows_List.ilk b/Windows_List/x64/Debug/Windows_List.ilk new file mode 100644 index 0000000..92af902 Binary files /dev/null and b/Windows_List/x64/Debug/Windows_List.ilk differ diff --git a/Windows_List/x64/Debug/Windows_List.log b/Windows_List/x64/Debug/Windows_List.log new file mode 100644 index 0000000..33f2025 --- /dev/null +++ b/Windows_List/x64/Debug/Windows_List.log @@ -0,0 +1,2 @@ + List.cpp + Windows_List.vcxproj -> E:\Git 仓库\公开仓库\5_List\Windows_List\x64\Debug\Windows_List.exe diff --git a/Windows_List/x64/Debug/Windows_List.pdb b/Windows_List/x64/Debug/Windows_List.pdb new file mode 100644 index 0000000..8e54e84 Binary files /dev/null and b/Windows_List/x64/Debug/Windows_List.pdb differ diff --git a/Windows_List/x64/Debug/Windows_List.tlog/CL.command.1.tlog b/Windows_List/x64/Debug/Windows_List.tlog/CL.command.1.tlog new file mode 100644 index 0000000..607eca9 Binary files /dev/null and b/Windows_List/x64/Debug/Windows_List.tlog/CL.command.1.tlog differ diff --git a/Windows_List/x64/Debug/Windows_List.tlog/CL.read.1.tlog b/Windows_List/x64/Debug/Windows_List.tlog/CL.read.1.tlog new file mode 100644 index 0000000..1c84029 Binary files /dev/null and b/Windows_List/x64/Debug/Windows_List.tlog/CL.read.1.tlog differ diff --git a/Windows_List/x64/Debug/Windows_List.tlog/CL.write.1.tlog b/Windows_List/x64/Debug/Windows_List.tlog/CL.write.1.tlog new file mode 100644 index 0000000..c78861e Binary files /dev/null and b/Windows_List/x64/Debug/Windows_List.tlog/CL.write.1.tlog differ diff --git a/Windows_List/x64/Debug/Windows_List.tlog/Cl.items.tlog b/Windows_List/x64/Debug/Windows_List.tlog/Cl.items.tlog new file mode 100644 index 0000000..8b12435 --- /dev/null +++ b/Windows_List/x64/Debug/Windows_List.tlog/Cl.items.tlog @@ -0,0 +1 @@ +E:\Git 仓库\公开仓库\5_List\Windows_List\List.cpp;E:\Git 仓库\公开仓库\5_List\Windows_List\x64\Debug\List.obj diff --git a/Windows_List/x64/Debug/Windows_List.tlog/Windows_List.lastbuildstate b/Windows_List/x64/Debug/Windows_List.tlog/Windows_List.lastbuildstate new file mode 100644 index 0000000..5d84219 --- /dev/null +++ b/Windows_List/x64/Debug/Windows_List.tlog/Windows_List.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.37.32822:TargetPlatformVersion=10.0.22000.0: +Debug|x64|E:\Git 仓库\公开仓库\5_List\Windows_List\| diff --git a/Windows_List/x64/Debug/Windows_List.tlog/link.command.1.tlog b/Windows_List/x64/Debug/Windows_List.tlog/link.command.1.tlog new file mode 100644 index 0000000..9e94961 Binary files /dev/null and b/Windows_List/x64/Debug/Windows_List.tlog/link.command.1.tlog differ diff --git a/Windows_List/x64/Debug/Windows_List.tlog/link.read.1.tlog b/Windows_List/x64/Debug/Windows_List.tlog/link.read.1.tlog new file mode 100644 index 0000000..4e11e94 Binary files /dev/null and b/Windows_List/x64/Debug/Windows_List.tlog/link.read.1.tlog differ diff --git a/Windows_List/x64/Debug/Windows_List.tlog/link.write.1.tlog b/Windows_List/x64/Debug/Windows_List.tlog/link.write.1.tlog new file mode 100644 index 0000000..8b14467 Binary files /dev/null and b/Windows_List/x64/Debug/Windows_List.tlog/link.write.1.tlog differ diff --git a/Windows_List/x64/Debug/Windows_List.vcxproj.FileListAbsolute.txt b/Windows_List/x64/Debug/Windows_List.vcxproj.FileListAbsolute.txt new file mode 100644 index 0000000..85eccf4 --- /dev/null +++ b/Windows_List/x64/Debug/Windows_List.vcxproj.FileListAbsolute.txt @@ -0,0 +1 @@ +E:\Git 仓库\公开仓库\5_List\Windows_List\x64\Debug\Windows_List.exe diff --git a/Windows_List/x64/Debug/vc143.idb b/Windows_List/x64/Debug/vc143.idb new file mode 100644 index 0000000..7f52688 Binary files /dev/null and b/Windows_List/x64/Debug/vc143.idb differ diff --git a/Windows_List/x64/Debug/vc143.pdb b/Windows_List/x64/Debug/vc143.pdb new file mode 100644 index 0000000..0d2b18a Binary files /dev/null and b/Windows_List/x64/Debug/vc143.pdb differ