随笔分类 -  C++

摘要:左值与右值 在传统的C++中,按照属性把值分为两种类别:左值和右值。 左值指的是那些实际存储于内存或寄存器中的值。它往往是可以修改的,所以常出现于表达式的左边,比如一个整形变量n,我们可以对其赋值:n = 16。 而右值一般不可被修改,所以常位于表达式的右边,如立即数3、布尔值true、空指针nul 阅读全文
posted @ 2019-07-06 20:13 cpluspluser 阅读(593) 评论(1) 推荐(0)
摘要:若要判断一个输入的QQ号是否有效,你会如何处呢? 首先你得分析一下其对应规则,依次列出: 1. 长度大于5,小于等于11; 2. 首位不能为0; 3. 是否为纯数字? 规则既列,接着就该尝试实现了,那么用什么来表示字符串呢?在C++中,最容易想到的就是string了,其中提供了许多成员函数可以处理字 阅读全文
posted @ 2019-03-28 17:01 cpluspluser 阅读(97960) 评论(4) 推荐(26)
摘要:现有两个类,一个工作(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 阅读(4805) 评论(0) 推荐(0)
摘要:头文件:fuctional std::bind1st和std::bind2nd函数用于将一个二元算子转换成一元算子。 bind的意思是“绑定”,1st代表first,2nd代表second,它们的声明如下: bind1st相当于作这样的操作:x op value; bind2nd相当于作这样的操作: 阅读全文
posted @ 2018-07-22 13:48 cpluspluser 阅读(1215) 评论(0) 推荐(0)
摘要:《More Effective C++》 Note 指针是C语言就有的,引用是C++新增的,它们似乎有着相同的功能,都可以间接引用其他对象。 指针用" "和" "操作符,而引用使用"."操作符"。在任何情况下,都不能使用指向空值的引用,一个引用必须总是指向某些对象。 如果需要使用一个变量并让它指向一 阅读全文
posted @ 2018-07-22 12:34 cpluspluser 阅读(1017) 评论(0) 推荐(0)
摘要:先来看这样一段代码: std::generate的第三个参数是个不接受任何参数的函数对象,这里,该函数对象是一个指向std::rand的指针。利用这个函数,为v随机初始化了500个值。 现在,若要统计这500个数里面有多少个可以被5整除和被15整除的,我们可以使用std::count_if: 对于相 阅读全文
posted @ 2018-07-22 12:07 cpluspluser 阅读(2586) 评论(0) 推荐(0)
摘要:MSDN描述: CONTAINING_RECORD returns the base address of an instance of a structure given the type of the structure and the address of a field within the 阅读全文
posted @ 2018-07-19 15:51 cpluspluser 阅读(268) 评论(0) 推荐(0)