随笔分类 - C++
摘要:c++常见面试题30道_大隐隐于野-CSDN博客_c++面试题 1. new、delete、malloc、free关系 new调用构造函数; free和new对应,它只会释放内存; delete会调用对象的析构函数; malloc与free是C/C++语言的标准库函数,new/delete是C++的
阅读全文
摘要:Javascript是世界上最受误解的语言,其实C++何尝不是。坊间流传的错误的C++学习方法一抓就是一大把。我自己在学习C++的过程中也走了许多弯路,浪费了不少时间。 为什么会存在这么多错误认识?原因主要有三个,一是C++语言的细节太多。二是一些著名的C++书籍总在(不管有意还是无意)暗示语言细节
阅读全文
摘要:OpenCV中Mat基本用法: Mat类 (Matrix的缩写) 是OpenCV用于处理图像而引入的一个封装类。从功能上讲,Mat类在IplImage结构的基础上进一步增强,并且,由于引入C++高级编程特性,Mat类的扩展性大大提高。 Mat image(240, 320, CV8UC3);第一个参
阅读全文
摘要:1 C编程 所谓低级编程,是相对于面向对象或基于对象的抽象层次更高的高级编程而言,就是: (1)不用C++STL的资源库,尽量减少内在的创建、调用、分配等的开销; (2)对程序管辖的内存进行直接操作访问,无视数据类型的威力; (3)尽量使用原始数据结构、数组和指针以及语言内部的运算符; (4)能省则
阅读全文
摘要:C++给我们提供了动态内存分配的new和delete操作。一般而论,new和delete操作多用在内存需求捉摸不定的场合。然而,需要处理的数据,如果变动范围很小,我们可以用STL中通用型的容器来做,大多数的情况都可以搞定。因为容器多能适应小量的变动需求。 1 动态内存之预留向量空间 例:清点单词数:
阅读全文
摘要:方法一: 一种直观的解是,先对第一个字串排序,然后逐个字符在第二个字串中搜索,把搜索不到的字符输出,就是所要的结果。 然而,算法库中有一个集合差运算set_difference,而且要求两个集合容器是已经排好序的。乍一看,好像是针对集合差运算来的。 方法二: 然而注意到,对两个集合分别排序的代价是大
阅读全文
摘要:如果两个字符串中0和1的个数分别相等,则称该对字符串为相等。 方法一: 由于string类对于读取文件中子串以及比较都很方便,所以,用string类的对象来逐对存放字串,然后将字串分别排序后对其进行比较是直接的思路。 程序中用到了算法sort调用,所以要包含算法库头文件algorithm。 方法二:
阅读全文
摘要:
阅读全文
摘要:积分的通常方法是将区域切割成一个个的小矩形,然后求这些小矩形的和。小矩形切割得越细,计算精度就越高,可以将切割小矩形的数量作为循环迭代变量,将前后两个不同精度下的小矩形和之差,作为逼近是否达到要求的比较客体。 逼近有快慢,设计算法时对循环迭代的速度掌握很重要,初值也很重要,采用什么算法也很重要。
阅读全文
摘要:main函数的参数结构为两项参数: main的参数由操作系统传递,所以比较特殊。两个形参名一般是采用习惯名称argc和argv,表示argument count和argument vector,即第一项是表示传递的C-串有几个,第二项是表示具体的C-串树数组,该数组最后一项是空串,即指向0的串。正像
阅读全文
摘要:函数指针作为一种数据类型,当然可以作为数组的元素类型。例如,要实现用菜单来驱动函数调用的程序框架,则用函数指针数组来实现就比较容易维护。 程序第4行首先定义了一个函数指针类型MenuFun。若前面无typedef,则后面部分就是一个函数指针定义,所以,正因为有了typedef,MenuFun就是函数
阅读全文
摘要:函数指针除了进行参数传递外,还承接申请的存储空间、释放空间等。而函数指针则主要是用来进行参数传递的,就像引用一样。 例如,我们来看一下函数指针的传递工作。在标准排序算法sort中,对于所提的整数容器vector,无须提供其他操作就可以顺利完成排序任务。代码如下: 但若整数的大小是以各位数字之和的大小
阅读全文
摘要:某任务需要在A、B、C、D、E这五个人中物色人员去完成,但派人受限于下列条件: (1)若A去,则B跟去 (2)D,E两人中必有人去 (3)B,C两人中必有人去,但只去一人 (4)C,D两人要么都去,要么都不去 (5)若E去,则A,B都去 分析: 对于这个逻辑判断例子,得到了条件的逻辑表达式,我们还有
阅读全文
摘要:浮点数可以进行比较,但是浮点数由于表示精度在不同浮点数类型中的差异,所以会被误用。例如: 当你满怀信心读完程序后,想象出的运行结果却与真实的运行结果不同的时候,你会如何想? 首先,由于十进制单精度浮点数的有效位数为7,两个前7位相等而后面不同的数有可能在计算机中表示为同一个浮点数,因而判断两数不等而
阅读全文
摘要:一个float变量的空间实体,被一个整型指针指向,当该指针间访时,float变量的空间实体便现出整型实体的面相,于是34.5这个浮点数按二进制补码来理解,得出的结果变得怪异了: 指针的类型性表明不同类型的指针,其类型是不同的,不能相互赋值,例如: 但从地址的本质来说,无非是用二进制表示的整数而已。因
阅读全文
摘要:读入一个文件aaa.txt的数据到向量中,文件中是一些整数(个数未知)。要判断向量中的元素有多少个两两相等的数对。 代码如下:
阅读全文
摘要:具有初始化的数组定义,其元素个数可以省略,即方括号中的表达式可以省略。这时候,最后确定的元素个数取决于初始化值的个数。例如: 运行结果: 程序中,用了sizeof(a),即a数组的字节数。还有sizeof(a[0]),即第一个元素所占空间的字节数,因为是整形数组,所以相当于sizeof(int),在
阅读全文
摘要:如果有一个文件aaa.txt,有若干行,不知道每行中含有几个整数,要编程输出每行的整数之和,该如何实现? 由于cin>>不能辨别空格与回车的差异,因此只能用getline的方式逐行读入数据到string变量中,但在string变量中分离若干个整数还是稍显吃力。一个好的方法是用string流: 讲道理
阅读全文
摘要:C-串的正确赋值、复制、修改、比较、连接等方式。 运行结果: 下面进入string: string是一种自定义的类型,它可以方便地执行C-串不能直接执行的一切操作。它处理空间占用问题是自动的,需要多少,用多少,不像字符指针那样,提心吊胆于指针脱钩时的空间游离。 运行结果:
阅读全文
摘要:1 逻辑判断 对于逻辑判断问题,一般都要考虑全部的可能性,然后从这些可能性中按条件逐一排查,直到最后获得某个结论。 【百钱买百鸡问题】 问题描述: 雄鸡(cock)7元一只,母鸡(hen)5元一只,小鸡(chick)1元3只。花费100元,买100只鸡,如果雄鸡、母鸡、小鸡都必须有,则雄鸡、母鸡、小
阅读全文