![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
月之光_moolighty
简简单单才是美!
我知乎的个人文章主页是
https://www.zhihu.com/people/moolighty/posts
展开
-
c++学习笔记(二)
1.c++单例模式为什么不在析构函数中释放静态的单例对象,而要加一个内嵌类你自己试试,析构函数里delete单例对象跟delete this有什么区别?你知道delete不仅仅是释放内存,还要先调用要释放对象的析构函数吗?所以析构函数里delete自己,那不是就会造成析构函数无限递归下去吗?而你写进去发现,根本没有死递归的话,建议你放句输出在析构函数里试试,看看这个单例析构函数有没原创 2015-07-15 09:38:40 · 380 阅读 · 0 评论 -
c++学习笔记(一)
1.using 编译指令:尽量放在函数里面,也可以把经常用的using指令集中放在一个头文件中,还可以使用std::形式。2.尽量使用const声明定义常量,一般必须进行初始化,不要使用#define3.auto,自动类型推断,一般适用于复杂类型,并非为简单类型情况而设计。4.在c++ struct 的用法与基本class 类型的用法差不多,只不过默认的数据成员类型不同。(位字段、共用原创 2015-07-15 09:34:48 · 523 阅读 · 0 评论 -
c++编程经验一
1.判断浮点数相等,不要用==,因为计算机表示浮点数时存在精度误差问题,最好判断二者之差的绝对值,即fabs(a-b)是否小于某个阈值,例如:1e-9.2.判断一个整数是否为奇数,不要用x%2==1,请用x%2!=0,因为-3%2=-1,而不是1.3.注意类型提升问题,比如数组的下标类型为unsigned int 等等4.vector和string优先于动态分配数组,尤其在多位数组上,可以原创 2015-07-16 16:43:46 · 549 阅读 · 0 评论 -
c/c++常见编程错误
每次编程出现各种各样的错误,希望以后都总结出来,以备以后好查阅,顺便与同行分享,此篇日志会一直更新,刚开始比较少,以后会越来越多,希望大家多多支持与共同讨论:1.#define之类的宏后面不要加分号“;”,否则报错。2linux g++ 报segmentfault错误,可能原因: a.内存访问越界,常见数组下标越界错误; b.非法指针,一类使用空指针,二类随意指针转换,导致访问内存数原创 2015-07-16 16:43:06 · 372 阅读 · 0 评论 -
常见排序算法
参考:http://wuchong.me/blog/2014/02/09/algorithm-sort-summary/1.常见排序算法如下:这里的稳定性,是指数组里的相同元素是否保持相对位置不变,一般不稳定的话,是指元素交换位置,存在跳跃性。2.算法代码加描述(1)冒泡排序【注意:】上述冒泡还可以优化,对于已经有序的,可以加一个判断,如果不存在相邻元素交换,则说明有序,复杂度为O(n);(2)选...原创 2018-04-01 18:52:44 · 156 阅读 · 0 评论