- 博客(7)
- 收藏
- 关注
原创 二、设计与声明
类的设计是一件非常复杂的事情,设计师在设计类的时候不仅仅要考虑实现的功能,又要兼顾扩展性、易用性等一些功能外的特性。在使用外部库的时候,在不查阅文档的基础上,我们常常烦恼于如何调用api,一些参数非常容易混淆。举一个例子我们在学生系统中要对一名学生进行输入生日的操作。Item19常常我们使用a->setbirthday(1993,4,5),在类中就是这么定义void setbirthda...
2019-03-12 16:53:15
224
原创 EffectiveC++一些心得
effective c++也看了好多遍了,但一直走马观花的看,不久就忘了,最近想重拾起来写点心得,3.11Resource Management首先是智能指针在c++11之前auto_ptr是智能指针的主流,满足RAII的所有要求。RAII的概念其实也不难(下面大段抄袭概念)RAII是C++的发明者Bjarne Stroustrup提出的概念,RAII全称是“Resource Acqu...
2019-03-11 16:16:30
298
原创 C++多线程实战编程第二章笔记
今天是2019年的第一天,还来不及感慨2018已经从指尖溜走的我已蜗居在实验室准备开题。既然是放假也忙里偷闲,抽点时间写点读书笔记。今天要说的是C++多线程编程第二章,第二章的题目就是线程管理,分为以下几个章节:1、线程基础 2、向线程函数传递参数 3、转移线程所有去哪 4、运行时决定线程数量 5、识别线程 下面就讲讲我对这几章的认识。第一节最主要是讲线程的基础知识。首先是线程的启动,线程的启...
2019-01-01 22:12:06
479
原创 多线程的一些小知识(不断补充)
最近学了一些C++多线程知识看的书是c++多线程实战编程,就顺便做一些笔记来帮助记忆。1、如何构建一个hello world的多线程函数程序首先创建一个hello world函数 void helloworld(){cout<<“hello,world”;}接着创建一个线程加入函数指针 std::thread t1(helloworld);接着t1.join()完成编程,如下所...
2018-12-23 21:54:43
164
转载 运算符重载以及语义移动
C++ 中的运算符重载重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的。与其他函数一样,重载运算符有一个返回类型和一个参数列表。Box operator+(const Box&amp;);声明加法运算符用于把两个 Box 对象相加,返回最终的 Box 对象。大多数的重载运算符可被定义为普通的非成员函数或者被定义为类成员函数。如果我们定义上面...
2018-12-23 20:39:00
281
转载 一些C++内存方面知识的补充积累
这个是我从各个地方归纳整理的一些C++内存管理一些常见问题,本来是写在有道云笔记的,就转到这儿来看一下,也会不定期的补充一下内存分布示意图栈为什么速度比较快?1、栈是在一级缓存,而堆是在二级缓存做缓存,速度不同2、栈由CPU提供指令,堆由操作系统提供指令,处理速度CPU高于操作系统3、栈遵循先进先出原则,栈遵循随机存储原则首先, 栈是本着LIFO原则的存储机制, 对栈数据的定位相对比...
2018-12-22 19:45:15
196
原创 数据库脏读、幻读以及不可重复读
最近刷面经,刷到一些这样的面试题,就做一点笔记来加深自己的理解1、数据库脏读所谓的脏读顾名思义就是数据被污染了,当数据库存在多个用户时,A对数据进行了修改,但没有确认,但是这时候B对这个数据进行查询,接着A对数据进行了回滚,那样B得到的数据就是一个错误的数据,举个贴近生活的例子,教务系统你的高数老师登记你的高数成绩看走眼了,就把小C的成绩看成你的成绩了,然后你就挂了,然后你查到了该成绩,然后就...
2018-12-22 19:37:13
576
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人