ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022-01-12_HWQ_01

2022-01-13 01:02:41  阅读:138  来源: 互联网

标签:11 std 12 01 线程 2022 pthread shared ptr


2022-01-12  23:28:54  

  • 如何写一个socket  : RAII 资源获取就是初始化,WSAStartup 和WSACleanup 应该设计成类的静态方法,因为他们只需要在类的初始化和退出调用。
  • 类除了保留对外的接口,内部用到的变量和方法对调用者不可见,这种习惯叫pimpl用法。
  • 编译时指定规范: g++ -g -o test  test.cpp -std=c++11
  • 类成员初始化语法:std::initializer_list<T>    ,11
  • 注解   ,17
  • final, oerride ,default , delete  , 11
  • auto , 11
  • for-each, 11
  • ctrl k + s  包围代码
  • 结构化绑定, 17
  • STL 容器方法 emplace 原位构造, 
  • 左值 有变量名+可取地址, 右值:常量
  • std::unique_ptr 引用计数永远是1,拷贝构造和赋值运算符=delete
  • std::shared_ptr 线程共享安全,
  • std::enable_shared_from_this 
  • std::weak_ptr 不控制生命周期的智能指针,协助shared_ptr工作
  • unique_ptr与裸指针大小相同,shared_ptr是unique_ptrr 2倍
  • 智能指针原则:用了智能指针就不要再用裸指针,

 

 

使用CMake管理编译,他可以生成VisualStudio的工程文件。

使用VisualStudio阅读开源代码 ----- FileZilla源代码, 打开解决方案:Ctrl + Alt + L 

gdb 调试redis 程序 ,https://github.com/redis/redis.git

gdb 调试 nginx程序 ,  https://github.com/nginx/nginx.git

 

 

创建线程  pthread_create

C程序的调用方式是_cdecl   而win的调用线程函数方式要求__stdcall  

win创建线程 (CRT 运行时C函数库)_beginthreadex    <process.h> 

win签名CALLBACK 和WINAPI 都是__stdcall

thread类  <thread>   , 11

window 平台获取 线程ID:pthread_t   pthread_self();    DWORD  GetCurrentThreadId();

Linux获取线程ID: pthread_create(&threadid...) ; pthread_self(); syscall(SYS_getid);

c++11 获取线程ID: 

 

等待线程结束 : pthread_join() 

 

标签:11,std,12,01,线程,2022,pthread,shared,ptr
来源: https://www.cnblogs.com/iamgoodman/p/15796040.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有