![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
弹指间LDL
学习C++,嵌入式开发,图像处理,
展开
-
CEdit获取编辑框的内容
CEdit获取编辑框的内容大家对获取编辑框的内容可能已经很熟悉了,无非是先定义一个CString类型的变量m_str,然后调用GetDlgItem(编辑框ID)->GetWindowText(str),这样就可以轻松获取到编辑框的内容。但如果我要设置此编辑框为只读模式,要求我们获取编辑框的内容,那该怎么办呢?我们知道,ReadOnly是CEdit的成员变量,显然定义CString类型的变量转载 2015-07-22 09:37:40 · 621 阅读 · 0 评论 -
MFC常用字符编码转换
MFC中几种字符串原创 2017-11-20 00:57:33 · 2666 阅读 · 0 评论 -
C++多态的实现原理
1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。2. 存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。3. 多态性是一个接口多种实现,是面向对象的核心。分为类的多态性和函数的多态性。4. 多态用虚函数来实现,结合动态绑定。5. 纯虚函数是虚函数再加上= 0。6. 抽象类是指包转载 2015-08-14 15:54:59 · 331 阅读 · 0 评论 -
初识内存泄露检测工具VisualLeakDetector
VLD为vc++下的内存泄露检测工具 1、首先下载安装vld,直接下载安装包,安装过程中会直接添加环境变量。 2、在安装目录下有vld.h, vldapi.h, vld.lib, vldmt.lib, vldmtdll.lib, dbghelp.dll等文件,在使用的时候在附加包含附录中添加inlude目录或者将.h文件拷贝到工程默认的include目录下 ,在附加库目录中添加vld安装目原创 2016-10-03 00:02:46 · 2815 阅读 · 2 评论 -
高效的字符串Hash公式
原文链接: http://www.cnblogs.com/duzouzhe/archive/2009/10/14/1583359.html 暴雪公司有个经典的字符串的hash公式 先提一个简单的问题,假如有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会怎么做? 有一个方法最简单,老老实实从头查到尾,一个一个比较,直到找到为止,我想只要学过程转载 2016-09-30 12:25:04 · 647 阅读 · 0 评论 -
C++面试常见问题整理(待补充)
1、 对于static的理解? 2、 Static修饰的全局变量和普通全局变量有什么区别?static修饰的局部变量和普通局部变量有什么区别? 3、 对于extern关键字的理解? 4、 用static修饰和extern修饰的变量有什么区别 5、 在c++程序中使用extern“C”的作用是什么? 6、 头文件中ifndef/define/endif的作用是什么? 7、 对原创 2016-09-17 23:47:47 · 432 阅读 · 0 评论 -
统计二进制数中1的个数
容易想到,将数与1按位与,然后右移,每次都跟1相与统计1的个数,这种方法对于无符号数是可以的,但是对于有符号数而言,其右移后再高位空出部分会添加1,也就是说,该方法对于无符号数而言会陷入死循环。 方法一 由于左移是始终在空出的低位添加0的,那么不妨使用一个1来和待统计的二进制数进行按位与操作,然后将1进行二进制的左移操作,从低位到高位依次统计每个位置是否为1。int CountNumUseFla原创 2016-09-26 15:10:44 · 1050 阅读 · 0 评论 -
判断二叉搜索树是否为后序遍历序列
#include <iostream>using namespace std;//给定一个整数数组,判断是否是一个二叉搜索树的后序遍历结果bool JudgeBSTSequence(int* BinSeq,int length){ int* root = NULL; int* leftStart = NULL; int* rightStart = NULL; /原创 2016-09-26 11:55:44 · 471 阅读 · 0 评论 -
数组分析
#include <iostream>using namespace std;void main(int argc, char* argv){int arr1[6] = { 0, 1, 2, 3, 4, 5 };//直接使用数组名cout << "数组名代表指向数组第一个元素的指针:\n";cout << "arr1:" << arr1 << endl;cout << "*arr1:原创 2016-09-06 14:44:05 · 359 阅读 · 0 评论 -
剑指offer46-累加和的特殊求法
题目描述:要求在不使用乘除法,for、while、if、else、switch、case以及条件判断语句(A?B:C)的情况下求累加和,通常求累加和的做法是通过公式,或者是递归,循环等方式#include <iostream>using namespace std;/*************方法一******************///利用循环的思路,循环即同一个函数重复执行多次,而在循环原创 2016-08-26 14:48:49 · 497 阅读 · 0 评论 -
剑指offer45-圆圈中剩下的最后一个数
//将0~n-1共n个数字排成一个圆圈,从数字0开始数数,每次从圆圈里删除第m个数字,计算出最后剩下的1个数字。 //分析:首先要注意,在进行数字处理的时候,要让着一串数字成环,而成环的方式是当计数到链表尾部的时候, //返回到头部继续计数。另外,如果是删除的是最后一个元素,那么在删除后,也应该从头开始计数 //#include <iostream>#include<list>using原创 2016-08-26 14:11:46 · 468 阅读 · 0 评论 -
非常全的Linux笔试题
一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点来标识. 4. 全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块. 5. 链接分为: 硬链接 和 符号链接 . 6. 超级块包含了i节点表 和 空闲块表等重要的文件系转载 2016-09-16 15:35:04 · 10293 阅读 · 0 评论 -
vector的erase()函数分析
erase函数可以用于删除vector容器中的一个或者一段元素,在删除一个元素的时候,其参数为指向相应元素的迭代器,而在删除一段元素的时候,参数为指向一段元素的开头的迭代器以及指向结尾元素的下一个元素的迭代器: 在进行单个元素删除后,传入的迭代器指向不变,仍然指向被删除元素的位置,而被删除元素之后的所有元素都向前移动一位,也就是该迭代器实际上是指向了原来被删除元素的下一个元素。 删除一段元素后,原创 2016-08-31 12:54:48 · 38064 阅读 · 1 评论 -
剑指offer43-计算n个色子掷出各个点数和的概率
问题描述:把n个色子掷地上,所有朝上一面的和为S,求出所有可能的S的概率,分析可知,色子有6个面,其数是1~6,而总共有n个色子,那么其和的范围是n~6n,而总共可能出现的组合情况有6^n种。/**************方法一**************/ 通过每次确定一个色子的数字,确定n个色子出现的数字,然后根据其和,相应的次数+1,从第一个色子开始确定,逐个确定色子的数字,一个色子确定后,原创 2016-08-19 20:39:24 · 1467 阅读 · 0 评论 -
剑指offer44-扑克牌顺子判断
问题描述:随机抽出5张扑克牌,判断这5张牌是不是顺子(连续的),其中2~10表示数字本身,A为1,J为11,Q为12,K为13,大小王可以看成是任意数字。 分析:由于是随机抽取的几张牌,因此,需要先对牌进行排序。排序过后,由于大小王比较特殊,可以表示任意数字,假设用0来表示大小王,首先应该统计0的个数,遍历数组的时候,如果碰到对子(即非0而又相等数字,则可以直接判断为非顺子)。如果相邻两个数不是连原创 2016-08-19 21:46:20 · 357 阅读 · 0 评论 -
传值传参和引用传参
引用方式传参,引用相当于是外部变量的别名,实际操作的就是该变量,即在函数内对该变量进行修改的话,在外部该变量也会相应被修改。 而传值方式传参,实际上是复制了一个外部变量的副本进入函数中,在函数内操作的为该副本,对该变量的修改并不会实际修改函数外的该变量。 注意,此处未考虑传入的参数为指针的情况,如果传值方式传入的是指针,那么如果单纯修改指针,那么在跳出函数后,该指针指向不受影响,但是如果修改的事原创 2016-08-17 12:20:45 · 1742 阅读 · 0 评论 -
为什么构造函数不能是虚函数而析构函数可以
首先,虚函数的实现原理是:在定义具有虚函数的类或者继承类的继承的时候,会相应建立一个虚函数表vtable,即每个类都对应一个需函数表,而在定义类的对象的时候,每个对象都会有一个指向相应类的虚表指针vptr,vptr指向虚表的入口地址,在调用相应的虚函数的时候,根据该入口地址寻找对应的函数。对于构造函数,其作用是在对象实例化的时候自动调用,对该对象进行初始化操作。前述中提到,虚函数是通过vptr来调原创 2016-04-07 12:17:13 · 804 阅读 · 0 评论 -
指针浅析
对于指针的理解一直比较混乱,此处分析一些简单类型的指针加深自己的理解, 首先是指针的定义:1、 int p; //定义普通整型变量; int *p; //定义一个指针p,指针类型是 int* 型,而指针指向的内容的类型为 int 型;2、int p[3]、int *p[3]和int (*p)[3] int p[3]定义了一个包含三个in原创 2015-12-04 09:40:57 · 373 阅读 · 0 评论 -
指针浅析
指针一些基本概念的理解原创 2017-12-23 21:23:20 · 195 阅读 · 0 评论