在日常工作中用到的一些知识,很久没有总结过,前几日参加一个会议,很是无聊。自己思索着自己这两年来所做过的东西,写着写着居然也写下了 100 个知识点。想把它一条一条总结下来,动笔总不是很容易。就拿这篇
问题的提出这几天一直在折腾的数据交换的例子中,我们使用互斥量来保证线程间数据交换的完整性。不难看出,要保证数据交换的正常进行,需要使用数据类的程序的设计者理解线程间数据交换的机制。C++的第一个特性就
回旋矩阵,顾名思义,就是从外圈数字由小到大旋转到内圈的N阶矩阵。2阶回旋矩阵1 24 33阶回旋矩阵1 2 3 8 9 4 7 6 54阶回旋矩阵 1 2 3 412
题目:有一个复杂链表,其结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任一结点或者NULL。请完成函数ComplexNode* Clone(Complex
1、DLIB,我猜应该是Dynamic Library。DLIB runtime environment就是运行时环境。2、什么是运行时环境。IAR给出的官方回答是:The runtime envir
先考虑一种情况,对一个已知对象进行拷贝,编译系统会自动调用一种构造函数——拷贝构造函数,如果用户未定义拷贝构造函数,则会调用默认拷贝构造函数。 先看一个例子,有一个学生类,数
先考虑一个简单的例子:假设有一个vector,你的任务是统计长度小于5的string的个数,如果使用count_if函数的话,你的代码可能长成这样:1 bool LengthIsLessThanFiv
程序的完整编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是()A、死代码删除指的是编译过程直接抛弃掉被注释的代码;B、函数内联可以避免函数调用中压栈和退栈的开销C、F
1、 sizeof应用在结构上的情况请看下面的结构:struct MyStruct{double dda1;char dda;int type;};对结构MyStruct采用sizeof会出现什么结果
一、基本概念: 钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理
《深度探索C++对象模型》一书第二章关于编译器构建或扩展构造函数的结尾指出,对于我们C++新手有两个常见的误解:1,任何没有定义default constructor的class,编译
从命令提示窗口使用 Visual C++ Toolkit 2003 Brian JohnsonMSDN Visual C++ 内容战略家适用于:Visual Studio .NET 2003Micro
上篇文章说明了创建工程到增加类图的过程,接下来就可以进行最简单的操作了。今天说明增加类的方法。添加类添加新类的操作如下图所示从软件的工具栏中向类图中拖动Class图标。释放鼠标后会自动出现类属性对话框
我想做的就是对每个线程进行有针对性的控制,也即可以对线程进行暂停,恢复,退出等等精细控制,对于此项要求,我的想法是声明一个类,该类中有些精细的操作其中包括该线程的状态,对线程控制的互斥变
C++11之前的关联容器在C++11之前的关联容器一共有四种。首先是两种最基本的类型:map和set。map中保存的是关键字-值的组合,而set中只保存关键字。map和set中的关键字不允许重复,一旦
1 BOOL ReleaseSemaphore( 2 HANDLE hSemaphore, // 信号量句柄 3 LONG lReleaseCount, // 计数递增数量 4 LPLONG
让我们从std::make_unique和std::make_shared之间的比较开始讲起吧。std::make_shared是C++11的一部分,可惜的是,std::make_unique不是,它
匿名管道呢,只能使用在有亲缘关系的进程之间,比如父子进程个兄弟进程,等等,因为匿名管道是一个在内存中存在的文件,其地址描述符只是在父子进程之中才有体现,为了克服该缺点,就有了命名管道的实现,命名管道呢
1、声明一个指针---- 在声明一个指针时,通过在声明语句的不同位置使用const可达到3个目的--1)禁止对指针进行改写(赋值)--2)禁止通过间接引用(*指针)对指针所指的变量进行赋值。--3)既
熟悉C++98/03的对于for循环就再了解不过了,如果我们要遍历一个数组,那么在C++98/03中的实现方式:int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 1