Skip to content

RealChuan/Cpp-Examples

Repository files navigation

Cpp-Examples

代码结构

  1. Algorithm
    1. Search——各种查找算法的实现,以及单元测试和基于google benchmark的性能测试;
      1. std_search_examples——stl中查找算法的例子;
    2. Sort——各种排序算法的实现,以及单元测试和基于google benchmark的性能测试;
      1. std_sort_examples——stl中排序算法的例子;
  2. BinaryTree——二叉树的相关操作,插入、移除、查找、打印;
  3. Breakpad——google breakpad的简单封装;
  4. ByteOrder——判断系统的字节序;
  5. Client——一个简单的Linux select socket客户端;
  6. CountDownLatch——使用std::mutex和std::condition_variable实现的简单倒计时门闩(std::latch c++20);
  7. Crashpad——google crashpad的简单封装;
  8. Curl——curl的简单使用;
  9. TcpClient——使用curl实现的简单tcp客户端;
  10. HttpClient——使用curl实现的简单http同步客户端;
  11. HttpClientAsync——使用curl实现的简单http异步客户端;
  12. DesignPattern——设计模式的一些例子;
  13. Factory——工厂模式;
  14. MVC——mvc模式;
  15. Observer——观察者模式;
  16. Singleton——单例模式;
  17. Glog——google glog的例子;
  18. Icmp——linux icmp协议的简单封装;
  19. LinkedList——链表的相关操作,插入、移除、反转、打印;
  20. Memcpy——memcpy函数实现;
  21. MonitorDir——windows(ReadDirectoryChangesW),macos(FSEvents)和linux(inotify)目录监控的简单例子;
  22. Mutex——使用std::atomic_flag实现的简单互斥锁和自旋锁;
  23. OpenSSL——openssl的一些例子;
    1. aes——aes加解密的例子;
    2. base64——base64编解码的例子;
    3. hash——sha256的例子;
    4. hmac——hmac的例子;
    5. pem——pem格式的例子;
    6. rsa——rsa加解密的例子;
    7. sm4——sm4加解密的例子;
    8. x509——x509证书的例子;
    9. bash——openssl命令行的例子;
  24. Server——linux server的一些例子;
    1. server_epoll——epoll的例子;
    2. server_poll——poll的例子;
    3. server_select——select的例子;
  25. Thread——基于std::thread实现的线程类,包括线程池;
    1. Thread——线程类;
    2. ThreadPool——线程池;