C++
文章平均质量分 50
王先生__
这个作者很懒,什么都没留下…
展开
-
商场促销--策略模式
策略模式、简单工厂回顾原创 2022-08-14 13:20:14 · 400 阅读 · 0 评论 -
大话设计模式有感
计算器、设计模式原创 2022-08-11 22:44:32 · 123 阅读 · 0 评论 -
C++ 不定时更新
代码 C++不定时更新。原创 2022-07-15 09:26:43 · 137 阅读 · 0 评论 -
C++ 字节
如何在结构体中将一个字节显示的展示出来typedef struct _OneBite{ unsigned char byRii; // unsigned char SixBit:6, Onebit:1, Onebit1:1;} OneBite,*pOneBite;如上所示,这样做的目的是可以很直观的表示每个bit 代表的意思,这一个结构体总共2个字节。在Qtc中,上诉结构体复制后展示的结构为原创 2021-02-24 11:31:44 · 148 阅读 · 0 评论 -
C++编程规范 4-7章
1.提高类内聚合度2.努力使类的接口少而完备3.保持(不同)类的不同接口在实现原则上的一致性4.避免为每个类成员提供访问函数5.不要在类定义时提供成员函数体6.恰当选择成员函数、全局函数和友元函数虚函数必为成员函数operator>>和operator<<必为非成员函数,因为第一个参数是cin或cout若函数第一个参数需要隐式类型转换,则其必不能是成员函原创 2018-12-17 16:07:23 · 132 阅读 · 0 评论 -
C++遍历目录文件
typedef struct _WIN32_FIND_DATAW{ DWORD dwFileAttributes; //一个文件(或路径)的文件属性。 FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow...原创 2019-01-25 15:22:47 · 783 阅读 · 0 评论 -
WORD与LPCWSTR之间的比较
WORD 是一个2字节的数字,LPCWSTR是一串wchar的字符的首地址。在 64和32位机器上转换会损失精度。一开始我是这样写的,但是这个会报0xC00000005错误。 第一个办法是_ltow_s把word转wchar_t*,然后在于LPCWSTR比较第二个办法是附上一个图片。...原创 2019-03-05 15:59:37 · 551 阅读 · 0 评论 -
MFC定时通过POST访问网页
整体的布局是这样的。这个我总共做了3个版本,一个是直接用ShellExecute打开网页,一个是通过CInternerConnection获取网页的内容,最后这个便是通过post访问指定网址(需要网址,端口,路径名)总的思路是通过判断定时时间和当前系统的时间是否相等,相等就执行访问。定时的功能是直接用控件DATETIMEPICKER,然后设置一下时间的显示格式CDateTimeCtrl ...原创 2019-03-27 14:45:02 · 734 阅读 · 0 评论 -
C++编程规范 1-3章
1.类型名:每个英文单词的第一个字母大写,其他小写,最后以_T结尾。class PageCode_T{ //...};原因:防止与变量名冲突使得类型名更加清晰区分名字中各单词也可以用下划线缩写字当作普通字处理因为namespace是表示一个逻辑组,与class和enum的某些用法类似,所以采用同样的命名原则1.2 关于变量和函数名:首字母小写,其后每个单词的第一个字母大...原创 2018-12-17 14:35:11 · 154 阅读 · 0 评论 -
并发,线程,进程
一个是实力的体现,一个是商用的必须需求。以往:windows: CreatThread(),_beginthred(),_beginthredexe()Linux: pthread_create() 创建线程临界区,互斥量。以往多线程代码不能跨平台。从C++11开始,C++语言本身增加可移植性。整个进程是否执行完毕的标志是主线程是否执行完毕。此时,如果主线程执行完毕,但是其他子线程还...原创 2018-11-21 12:49:22 · 164 阅读 · 0 评论 -
线程传参,detach的大坑,成员函数做线程函数
传递临时对象作为参数VS shitf+F9查看变量void myprint(const int &t, char *j){ cout << t << endl; cout << j << endl;}int main(){ int m=1; int &原创 2018-11-25 11:13:51 · 298 阅读 · 0 评论 -
创建多个线程、数据共享问题分析
Join多个线程运行顺序是乱的,跟操作系统内部对线程的调度机制有关。主线程等待子线程执行完毕后才执行void myprint(int item){ cout << "线程编号" << item << endl;}int main(){ //创建线程 vector<thread> mythread; for (int i = 0;...原创 2018-11-25 12:17:22 · 148 阅读 · 0 评论 -
互斥量概念,用法,死锁演示及解决详解
保护共享数据,用代码把共享数据锁住,其他想操作共享数据的线程得等待解锁。互斥量的概念:互斥量是个类对象。多个线程尝试lock锁上。结果:只有一个线程能够锁定成功,成功的标志是lock函数返回。如果没锁成功,那么流程就会卡在lock这,不断尝试去锁,一直到成功。互斥量使用起来要小心,保护数据不要多也不要少,少了程序该崩溃还是崩溃,多了影响程序的运行效率。互斥量的用法:头文件#includ...原创 2018-11-26 14:04:16 · 975 阅读 · 0 评论 -
unique_lock详解
unique_lock:是个类模板。内存占用可能多一点,效率差一点。unique_lock基本使用例子static int num_push = 0;static int num_pop = 0;class A { std::list<int>msgReceive; std::mutex my_mutex;//创建一个互斥量的成员变量public: void inMsg...原创 2018-11-26 15:17:11 · 1373 阅读 · 0 评论 -
C++笔试心得
class A{public: A() { cout << "构造函数" << endl; } ~A() { cout << "析构函数" << endl; } A(const A&) { cout << "拷贝构造函数" << endl; }};in原创 2018-12-05 10:41:49 · 140 阅读 · 0 评论 -
char字符串的复制
const char *p = "how are you ?";char name[20] = "ABCDEFGHIJKLMNOPQRS";strcpy(name, p);cout &lt;&lt; name &lt;&lt; endl;原创 2018-12-05 14:02:18 · 3830 阅读 · 0 评论 -
单例设计模式共享数据分析、解决,call_once
单例设计模式class MyCAS {private: MyCAS() {} private: static MyCAS *instance;public: static MyCAS *GetInstance() { if (instance == NULL) { instance = new MyCAS(); static MyCAS_Recover cl...原创 2018-12-05 15:21:29 · 130 阅读 · 0 评论 -
condition_variable,wait,notify_one,notify_all
…原创 2018-12-05 17:33:24 · 394 阅读 · 0 评论 -
async,future,packaged_task,promise
一、std::async,std::future创建后台任务并返回值希望线程返回一个结果std::async是个函数模板,用来启动一个异步任务,启动起来返回std::future创建一个线程并开始执行对应的线程函数返回std::futurestd::future对象里面就有线程函数的返回结果,可能没办法马上得到,但是在线程执行完毕的时候,就会返回结果了#include&lt;future...原创 2018-12-09 16:07:07 · 217 阅读 · 0 评论 -
future其他成员函数,shared_future、atomic
int mythread(){ cout &amp;amp;lt;&amp;amp;lt; &amp;quot;mythread() start&amp;quot; &amp;amp;lt;&amp;amp;lt; &amp;quot; thread id = &amp;quot; &amp;amp;lt;&amp;amp;lt; std::原创 2018-12-09 17:54:52 · 177 阅读 · 0 评论 -
C++编程规范 8-24章
第八章 常量1.不要让常量成员函数修改程序的状态:不要修改成员、静态成员、、全局变量、其他对象。第九章 重载1.尽量避免重载宰模板类型上:可能存在二义性第十章 操作符1.区分作为成员函数和作为友元的操作符:operator+=()、operator=()等都需要左值,应是成员函数;而操作符operator==()、operator+()不需要左值,应是友元操作符作为成员函数可以确保...原创 2018-12-21 11:19:12 · 165 阅读 · 0 评论 -
C++数据类型
TCHAR因为C++支持两种字符串,即常规的ANSI编码(使用"“包裹)和Unicode编码(使用L”“包裹),这样对应的就有了两套字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串。微软将这两套字符集及其操作进行了统一,通过条件编译(通过_UNICODE和UNICODE宏)控制实际使用的字符集,这样就有了_T(”")这样的字符串,对应的就有了_tcslen这样的函数为...原创 2018-11-02 22:33:05 · 158 阅读 · 0 评论