![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++的烦恼
上城放克nstop6557
枯藤老树昏鸦
空调奶茶西瓜
追剧躺在沙发
夕阳西下
心情好到爆炸
展开
-
Effective STL读书笔记
第一章容器条款1:仔细选择你的容器C++中各种标准或非标容器:标准STL序列容器: vector、string、deque和list(双向列表)。标准STL管理容器: set、multiset、map和multimap。非标准STL序列容器:slist(单向列表)和rope(重型字符串?)。非标准STL关联容器:hash_set、hash_multiset、has...转载 2019-03-29 17:08:26 · 117 阅读 · 0 评论 -
Windows下多线程加锁
在windows系统中,系统本身为我们提供了很多锁。通过这些锁的使用,一方面可以加强我们对锁的认识,另外一方面可以提高代码的性能和健壮性。常用的锁以下四种:临界区,互斥量,信号量,event。(1)临界区临界区是最简单的一种锁。基本的临界区操作有, InitializeCriticalSection EnterCriticalSection ...转载 2019-03-27 16:04:51 · 1256 阅读 · 0 评论 -
C++中一些需要注意的地方
static关键字: 因为静态是属于类的,它是不知道你创建了10个还是100个对象,所以它对你对象的函数或者数据是一无所知的,所以它没办法调用,而反过来,你创建的对象是对类一清二楚的(不然你怎么从它那里实例化呢),所以你是可以调用类函数和类成员的.static修饰局部变量,可以让该局部变量拥有全局变量的特性,修饰函数则可以让该函数只是在本文件可见,也就是说不用担心该函数名或者变量名与...原创 2019-07-19 15:02:50 · 209 阅读 · 0 评论 -
回调函数
概念:回调函数,顾名思义,就是使用者自己定义一个函数,使用者自己实现这个函数的程序内容,然后把这个函数作为参数传入别人(或系统)的函数中,由别人(或系统)的函数在运行时来调用的函数。函数是你实现的,但由别人(或系统)的函数在运行时通过参数传递的方式调用,这就是所谓的回调函数。简单来说,就是由别人的函数运行期间来回调你实现的函数。不带参数的://定义带参回调函数void PrintfTe...原创 2019-07-24 16:05:13 · 147 阅读 · 0 评论 -
设计模式总结
状态模式在实际开发中,我们经常会遇到这种情况;一个对象有多种状态,在每一个状态下,都会有不同的行为。那么在代码中我们经常是这样实现的。代码如下:typedef enum tagState{ state0, state1, state2}State; void Action(State actionState){ if (actionS...翻译 2019-07-30 17:09:54 · 96 阅读 · 0 评论 -
C++命名空间
C++命名空间假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。同样的情况也出现在 C++ 应用程序中。例如,您可能会写一个名为 xyz() 的函数,在另一个可用的库中也存在一个相同的函数 xyz()。这样,编译器就无法判断您所使用的是哪一个 xyz() 函数。因此,...原创 2019-08-08 15:43:23 · 84 阅读 · 0 评论 -
C++中对void*的使用与理解
void实际上,如果把void 和int,char,double等类型放到一起理解的话,首先还是那句揭示本质的话:变量类型就是固定大小内存块的别名,那么void占用多大内存呢,编译器并没有定义void占用多大内存,所以对于voidvar; 这样的定义,编译器自然是不允许的,在vs中的错误提示是:不允许使用不完整的类型。void*void*指针不指向任何数据类型,它属于一种未确定类型...原创 2019-08-06 17:45:59 · 9140 阅读 · 6 评论