摘要:C++使用如下方法遍历一个容器: 其中auto用到了C++11的类型推导。同时我们也可以使用std::for_each完成同样的功能: 现在C++11的for循环有了一种新的用法: 上述方式是只读,如果需要修改arr里边的值,可以使用for(auto& n:arr),for循环的这种使用方式的内在实 阅读全文
链表的逆置(又称反转)
2016-12-06 00:00 by Shdjgrwjdbd, 2350 阅读, 1 推荐, 收藏,
摘要:链表的逆置常作为应届生面试题,主要考察求职者对链表的理解,还有思维能力。逆置的思路主要是保存几个临时的指针变量,其实好多面试题都可以通过保存临时变量的方式来解决。对于此类问题,建议一定不要死记硬背,因为死记硬背一定会随着时间的推移而忘记,建议按照pPrev,pNode,pNext依次向后推移的思路理 阅读全文
冒泡法排序
2016-12-05 23:30 by Shdjgrwjdbd, 918 阅读, 1 推荐, 收藏,
摘要:冒泡法排序,顾名思义,整个排序过程实际上一次次的冒泡过程,每次冒泡都会进行相邻数字的比较,如果Left>Right,则交换,一次冒泡完毕后,数组最大的值就会被安置到最后的位置。然后进行第二次冒泡,这次冒泡就会将次大值安置到n-1的记录上。依此类推。 冒泡法排序的算法复杂度O(n2). C++代码如下 阅读全文
从活字印刷术的角度理解面向对象编程
2016-12-04 22:24 by Shdjgrwjdbd, 559 阅读, 0 推荐, 收藏,
摘要:《大话设计模式》开头从活字印刷术的例子讨论面向对象的好处,个人觉得非常形象。活字印刷术主要体现了面向对象的如下几点: 1. 可维护:修改的话只需要修改某一个字; 2. 可复用:别的字可以重新拿来用; 3. 可扩展:如果要加字,只需要刻新字; 4. 灵活性好:横排竖排都可以。 通过封装、继承、多态把程 阅读全文
设计模式之观察者模式
2016-12-04 19:46 by Shdjgrwjdbd, 458 阅读, 1 推荐, 收藏,
摘要:观察者模式又称发布-订阅(Publish/Subscribe)模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。将一个系统分割成一系列相互协作的类有一个很不好的副作用,那就是需要维护相关对象间的一致性 阅读全文
解决ambiguous symbol命名空间中类名、变量名冲突的问题
2016-12-04 11:41 by Shdjgrwjdbd, 6046 阅读, 0 推荐, 收藏,
摘要:最近在将一个复杂的工程集成到现有的项目中。编译时发现,有的变量名冲突了,提示就是xxxx ambiguous symbol,并且在编译输出时,指明了两个文件当中特定的变量名或者类名相同。出现这个编译错误的原因是,在工程中加载了两个头文件,这两个头文件中包含相同的类名或者变量名,解决及避免出现此类错误 阅读全文
解决Android后台清理APP后,程序自动重启的问题
2016-12-04 11:22 by Shdjgrwjdbd, 15403 阅读, 0 推荐, 收藏,
摘要:最近解决了一个Android APP的bug,发现APP在被后台清理后,会自动重启。现象很奇怪,有的手机(HTC)后台清理后,程序会再次重启,而有的手机(小米)则不会。猜想可能是小米手机内部做了处理,当执行后台清理后,就不允许对应的APP重启了。 Debug后发现,APP内部有一个Service,在 阅读全文
vim快捷键整理(转载)
2016-12-03 22:20 by Shdjgrwjdbd, 1307 阅读, 0 推荐, 收藏,
摘要:一、移动光标 1、左移h、右移l、下移j、上移k2、向下翻页ctrl + f,向上翻页ctrl + b3、向下翻半页ctrl + d,向上翻半页ctrl + u4、移动到行尾$,移动到行首0(数字),移动到行首第一个字符处^5、移动光标到下一个句子 ),移动光标到上一个句子(6、移动到段首{,移动到 阅读全文
设计模式之单例模式
2016-12-03 22:04 by Shdjgrwjdbd, 636 阅读, 1 推荐, 收藏,
摘要:单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。其构造过程由自身完成,可以将构造方法定义为private型的,这样外界就只能通过定义的静态的函数Instance()构造实例,这个函数的目的就是返回一个类的实例,在此方法中去做是否有实例化的判断。客户端不再考虑是否 阅读全文
设计模式之六大原则
2016-12-03 21:33 by Shdjgrwjdbd, 388 阅读, 0 推荐, 收藏,
摘要:单一职责原则 单一职责原则(Single responsibility principle),就一个类而言,应该只有一个引起它变化的原因。 在实际编程中的体现,比如一个类只是某一个事物相关的集合,一个函数只做一件事情,不要在这个函数中编写一些不想关的逻辑,这样可以最大程度的提高程序的可维护性,可复用 阅读全文
浙公网安备 33010602011771号