摘要: 许久未在这儿写文章了,从公众号搬几篇原创过来,感兴趣的可以去关注一波。 0. 前言(Introduction) 这篇文章构思了许久。 初时不知从何写起,协程的背后是整个并发,所涉知识极多,对于标准C++来说,也算是一个新概念。 思忖良久,欲以几篇而述之,便先起手了此「概念篇」。 了解C++的会发现自 阅读全文
posted @ 2020-05-01 13:27 cpluspluser 阅读(1520) 评论(0) 推荐(1) 编辑
摘要: 左值与右值 在传统的C++中,按照属性把值分为两种类别:左值和右值。 左值指的是那些实际存储于内存或寄存器中的值。它往往是可以修改的,所以常出现于表达式的左边,比如一个整形变量n,我们可以对其赋值:n = 16。 而右值一般不可被修改,所以常位于表达式的右边,如立即数3、布尔值true、空指针nul 阅读全文
posted @ 2019-07-06 20:13 cpluspluser 阅读(544) 评论(1) 推荐(0) 编辑
摘要: 若要判断一个输入的QQ号是否有效,你会如何处呢? 首先你得分析一下其对应规则,依次列出: 1. 长度大于5,小于等于11; 2. 首位不能为0; 3. 是否为纯数字? 规则既列,接着就该尝试实现了,那么用什么来表示字符串呢?在C++中,最容易想到的就是string了,其中提供了许多成员函数可以处理字 阅读全文
posted @ 2019-03-28 17:01 cpluspluser 阅读(88346) 评论(3) 推荐(24) 编辑
摘要: 现有两个类,一个工作(Work)类,一个状态(State)类。<pre><code class="language-cpp line-numbers">class Work{public: Work(); ~Work(); double GetHour();private: double m_hou 阅读全文
posted @ 2019-03-15 18:58 cpluspluser 阅读(4666) 评论(0) 推荐(0) 编辑
摘要: System:Windows 10 IDE:VS 2015 首先下载下所需的文件,已打包好: 链接:https://pan.baidu.com/s/1jgyZEv0ZiDKCC378vQbZng 密码:y80b 其中包含了所需的lib库和freeglut,还有GLTools文件。 将下载的文件解压到 阅读全文
posted @ 2018-08-01 13:13 cpluspluser 阅读(475) 评论(0) 推荐(0) 编辑
摘要: ``` char *UniCodeToUTF8(CString strUniCode) { LPWSTR pWstr = new wchar_t[strUniCode.GetLength() + 1]; wcscpy(pWstr, T2W((LPTSTR)strUniCode.GetString())); //获取转完后的长度 int nLen = WideCha... 阅读全文
posted @ 2018-07-22 14:12 cpluspluser 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 头文件:fuctional std::bind1st和std::bind2nd函数用于将一个二元算子转换成一元算子。 bind的意思是“绑定”,1st代表first,2nd代表second,它们的声明如下: bind1st相当于作这样的操作:x op value; bind2nd相当于作这样的操作: 阅读全文
posted @ 2018-07-22 13:48 cpluspluser 阅读(1157) 评论(0) 推荐(0) 编辑
摘要: 乘法的计算比加法要麻烦,主要有两个思路: 1. 模拟手算 2. 先不管所有进位计算,最后统一处理进位 乘法手算的步骤: 还是用string来表示数字,乘积的位数最大为两个相乘数的位数和,所以开始就可给定结果的位数。为了节省内存,我们用了一个小技巧:用result来表示每次相乘的和,这样就不需额外声明 阅读全文
posted @ 2018-07-22 13:26 cpluspluser 阅读(2594) 评论(0) 推荐(0) 编辑
摘要: 普通数字的运算,我们可以直接运用已有类型int, long, long long等等计算,但要是数字非常大,这些类型是远远装不下的。 故而很多情况下需要我们自己来设置大整数运算,本篇记录的是大整数的加法运算的方法。 对于加法运算,第一个方法是模拟手算。先来看看手算的步骤: 手算的时候,我们会先把个位 阅读全文
posted @ 2018-07-22 13:18 cpluspluser 阅读(4187) 评论(0) 推荐(1) 编辑
摘要: Author:秋时残叶 Date:2018.01.01 《Windows程序设计》笔记 1.获取键的状态 2.左右Shift键 3.四类字符消息 非系统字符(来自WM_KEYDOWN): 系统字符(来自WM_SYSKEYDOWN): 4. lParam: 和产生此字符码的击键消息中的lParam一样 阅读全文
posted @ 2018-07-22 12:59 cpluspluser 阅读(609) 评论(0) 推荐(0) 编辑