随笔分类 -  C++

摘要:说实话,昨天UC的笔试题基本全是基础,但是太基础,直接导致很多都不能确定了。看来不管找工作还是找实习,一定要复习到位。好在我也一直是抱着打酱油的味道,实习与否不是特别在意,否则真心要鄙视死自己啦。 好的,言归正传,题目是一道经典的题目:在一个字符串中找到第一个只出现一次的字符。要求 1、必须用C/C 阅读全文
posted @ 2014-05-15 09:39 白来了123 阅读(1278) 评论(5) 推荐(2)
摘要:直接逼入正题。 Standard Template Library简称STL。STL可分为容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adaptors)、算法(algorithms)、仿函数(functors)六个部分。 迭代器和泛型编程的思 阅读全文
posted @ 2014-05-11 17:59 白来了123 阅读(1954) 评论(2) 推荐(3)
摘要:最近天下有一种颇不太平的感觉,各地的乱刀砍人,到处是贪官服法。京东准备上市了,阿里最近也提交申请了,猎豹也逆袭了,据说猎豹移动在国际市场上表现甚是抢眼。只有屌丝还在写着代码。花开花又谢,花谢花又开,为什么这么多人没有安全感呢?是转型社会给大家带来了浮躁,还是什么?不得而知! 另外,就上一篇文章的问题 阅读全文
posted @ 2014-05-09 16:52 白来了123 阅读(16428) 评论(5) 推荐(2)
摘要:[QQ群: 189191838,对算法和C++感兴趣可以进来] 开篇立意: C++中各种转换令人眼花缭乱,看似差不多,实际差很多,而且在当今时间,做一个"差不多先生"其实挺难的,一不小心可能就被社会淘汰了。 数据转换(当然也包括各种对象类型的转换)是我们经常用到的,比如说一个Int... 阅读全文
posted @ 2014-03-27 23:31 白来了123 阅读(1223) 评论(0) 推荐(1)
摘要:以前觉得吧,写文章纯属浪费时间,有那么点时间还不如玩会游戏、和姑娘聊聊天。现在这觉得,写写读书笔记也是好的,一来信息分享,(各个云平台不就是分享、然后大数据么)二来温故而知新,加深了对知识的理解。话不多说,继续写 问题:在C++中一个空类,他会产生多少个函数呢? 答案还是慢慢揭晓,首先介绍C++几个 阅读全文
posted @ 2014-03-26 21:15 白来了123 阅读(1414) 评论(2) 推荐(6)
摘要:上午搞了一个小程序,test半天都没有得到想要的结构,原来是递归的时候没有注意的循环的问题,结果直接死循环了。催了...看来当程序出现问题的时候,首先要整理的是算法思路是否有问题,其次是算法的实现,是否容易进入死循环,边界条件是否出现错误。 好的,废话不多说,继续整理。 指针 指针这东西,要是搞复杂 阅读全文
posted @ 2014-03-26 13:18 白来了123 阅读(1317) 评论(6) 推荐(3)
摘要:众所周知,在c++中,static和const的使用方法是难点,也是重点,值得我们随时温习,所谓温故而知新是也。 下面我们首先说一说static。 1、static的作用 static变量的作用,主要可以归纳为以下几点 a、可以隐藏,如果在函数体外声明成员变量,非static的成员变量,在A.cpp中声明:int a;那么这样其他源文件比如B.cpp是可以访问到A.cpp中的a的。这样极容易混淆,因为我们可能需要在B.cpp中声明int a;而且也是对数据的一种保护,使A更安全。 而如果在A.cpp中声明的是:static int a;那么只能在该文件中访问了,在B.cpp中... 阅读全文
posted @ 2014-03-25 14:24 白来了123 阅读(5680) 评论(0) 推荐(2)
摘要:首先是struct,在C++中,结构体其实和class有很大的相似了。但是有一点不同的是,struct默认是public,而class中是private. 当然,struct继承等用法也是可以的。 共用体的声明方式是: 枚举的声明方式与共用体比较相似其中a初始化为0,后面默认增1,若已经初始化,则后面再增1,比如d=6在这里。struct长度计算大家猜一下,s1 x;int b=sizeof(x);他的结果会是多少呢?有人会觉得应该是1+8+4+1=14.实际上是24.为什么会是这样呢?这个和结构体的对齐方式有很大关系。总之有两条1、整体空间是最大成员占用字节的整数倍,比如这里... 阅读全文
posted @ 2014-03-25 09:32 白来了123 阅读(1641) 评论(20) 推荐(3)
摘要:两道题目,1、有一堆的数,其中所以的数都出现了两次,只有一个出现了一次,找出那个只出现一次的数。 2、有一堆的数,其中所以的数都出现了三次,只有一个出现了一次,找出那个只出现一次的数。 对于这种题目,我们可能首先想到是排序。当然,排序可以解决问题,但是排序的复杂度实在是太高了,至少也得O(nlogn)吧。 那么有没有什么方式可以使得其复杂度下降呢? 对于第一道题,我们可能会想到很多种方式,最简单的就是异或运算了,最终得到的结果肯定是只出现一次的那个数。 那么对于第二道题,我们应该怎么解呢?我想了很久,好像只能通过排序来解。因为似乎第一道题的方法都不... 阅读全文
posted @ 2014-03-24 20:30 白来了123 阅读(1165) 评论(5) 推荐(0)
摘要:这里我们谈论的是句子单词的逆转。比如you are welcome!翻转成weclome! are you 对于这道题,解题思路可以有很多种,可以以单词为单位,然后交换,比如用you 和weclome!交换,利用两个指针,不断的向后和向前搜索。 但是由于单词的长度的不一致性,即不对称,... 阅读全文
posted @ 2014-03-24 15:39 白来了123 阅读(423) 评论(1) 推荐(0)
摘要:我们经常会遇到一种情况是匹配两个字符串,看strPar中是否含有str子串,如果有则返回子串在父串strPar中的位置,如果不存在则返回false. 很明显,我们可以通过暴力求解的方式解决该问题。即从strPar第一个字符和子串进行比较,若成功则返回第一个0,若不成功,再第二个字符开始比较,这样的时 阅读全文
posted @ 2014-03-24 12:10 白来了123 阅读(966) 评论(0) 推荐(0)
摘要:1、 int **p;表示指向指针的指针。这个很容易理解,就是两次动态生成一维数组的过程。 int *p=new int* [n]; for(int i=0;i<m;i++) p[i]=new int[n];2、指针数组:int *p[10];表示指向10个整数的指针,也称之为一个有10个指针的数组。即 int *p; for(int i=0;i<m;i++) p[i]=new int[10];他的产生过程可以看下图,由于[]的优先级高于*,所以首先生成的是一个有十个元素的数组。而每个元素都是指针。所以int *p[10];也经常写成int* p[10].也许这样更容易理解。3、数 阅读全文
posted @ 2014-03-23 21:47 白来了123 阅读(438) 评论(0) 推荐(0)
摘要:首先需要说明的是sizeof和strlen都可以求长度,但是却有很大的区别,简单来说可以概括为以下几点: 1、sizeof是一个关键字,而strlen确实一个函数。 2、sizeof求的是字节长度,而strlen求的却是实际长度。 比如int a=1;sizeof(a)==4而strl... 阅读全文
posted @ 2014-03-23 19:39 白来了123 阅读(5206) 评论(6) 推荐(3)