- 实现MyString
- 实现MySharedPtr
- 实现MyWeakPtr
- 实现MyUniquePtr
- 实现MutexLock
- 实现MyMatrix(strassen实现矩阵乘法)
- 实现Singleton
- 实现MyBST(binary search tree)
- 实现MyError
- 实现MyHashMap
- 实现常见的排序算法以及二分查找
- 实现MyFileReader
- 实现MyFileWriter
- 实现MyRBTree
- 实现MyProfiler
- 实现MyVector
- 实现MySkipList
- 实现MyThreadPool
- 实现MyMemoryPool
- 实现MyJsonParser
- 实现多线程相关 Demo
to support C++ 20 feature
- required gcc-10 g++-10 or higher
- required cmake 3.21 or higher
git clone https://github.com/MedivhGO/MyCPP.git
cd MyCPP
mkdir build
cd build
cmake ..
make
modify test/CMakeList.txt file to generate correspond single unit test executable file.
add below code:
-
add_executable
-
target_link_libraries
cd build/test
./test_case.test
to check memory leak, you can use blow command.
/usr/bin/valgrind --leak-check=full --leak-resolution=med --track-origins=yes --vgdb=no ./build/test/MyCpp.test
// use MyProfile.h measure function to get runtime data
// example
measure(function_name, param1, param2).count()
The fastest feature-rich C++11/14/17/20/23 single-header testing framework
Simple, fast, accurate single-header microbenchmarking functionality for C++11/14/17/20
See also:
- https://github.com/rangelak/Strassen-Matrix-Multiplication
- https://github.com/aronszanto/strassen
- https://github.com/danek0100/Cpp-Ex08-Implementation-of-MyString-class
- https://github.com/shakhovm/MySharedPtr
- https://github.com/DanesH-Abdollahi/DanesH-Abdollahi-AP_1400_HW4
- https://github.com/heysulo/MyMalloc
- https://github.com/0xf3cd/Compiler-Tokenizer
- https://github.com/Xue64/The-Dive-Library
- https://github.com/Dynmi/RedBlackTree
- https://github.com/percentcer/VectorTest
- https://github.com/taskflow/taskflow
- https://github.com/AleksanderBrzozowski/AAL
- https://github.com/shejialuo/topKProblem
- https://github.com/marcodiri/cpp-java-threadpool
- https://github.com/green-anger/MemoryPool