随笔分类 -  C++

上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要:http://www.cplusplus.com/reference/bitset/bitset/bitset/ 阅读全文
posted @ 2017-03-05 12:31 blcblc 阅读(148) 评论(0) 推荐(0) 编辑
摘要:这篇讲的不错: http://blog.csdn.net/smstong/article/details/50728022 首先Active Record 然后EBP,ESP等指针 2 通过setjmp和longjmp操纵AR,完成任意跳转 setjmp/longjmp主要从嵌套的函数调用中跳出来。 阅读全文
posted @ 2017-03-04 12:10 blcblc 阅读(708) 评论(0) 推荐(0) 编辑
摘要:可以看这里: http://blog.csdn.net/huyiyang2010/article/details/5984987 现在的new是会抛出异常的,bad::alloc 如果不想抛出异常两种方法: 1. 用nothrow版本, new (std::nothrow) xxx(); 那样new 阅读全文
posted @ 2017-03-04 11:34 blcblc 阅读(1084) 评论(0) 推荐(0) 编辑
摘要:看这里: http://blog.csdn.net/lollipop_jin/article/details/8499530 shared_ptr可以多线程同时读,但是涉及到写,需要加锁。 shared_ptr开销较大。 多个(5个以上)shared_ptr共享一个动态对象,那么每个shared_p 阅读全文
posted @ 2017-03-04 10:55 blcblc 阅读(426) 评论(0) 推荐(0) 编辑
摘要:书上讲了一个例子,一个德文字符,没有转成大写。 要转的话,要设置 set_locale 阅读全文
posted @ 2017-03-04 01:42 blcblc 阅读(191) 评论(0) 推荐(0) 编辑
摘要:加锁和解锁,也可以在构造函数和析构函数里面,自动调用。 相等和等价的关系:等价是用在排序的时候,跟less函数有关。 vector,deque,string 要用erase-remove组合;而关联容器,直接erase就可以了。 copy(x.begin(), x.end(), ostream_it 阅读全文
posted @ 2017-03-03 15:22 blcblc 阅读(244) 评论(0) 推荐(0) 编辑
摘要:参考 http://www.cnblogs.com/zhuyf87/archive/2013/04/04/2999916.html 1. 判断奇偶 if (a & 1) 2. 交换两数 a ^= b; b ^= a; a ^= b; 3. 变换正负符号 ~a + 1 4. 取绝对值 (a >> 31 阅读全文
posted @ 2017-03-03 14:23 blcblc 阅读(165) 评论(0) 推荐(0) 编辑
摘要:这个new_handler其实对应于signal_handler 当operator new申请一个内存失败时,它会进行如下的处理步骤:1、如果存在客户指定的处理函数,则调用处理函数(new_handler),如果不存在则抛出一个异常。new_handler的模型为:void (*new_handl 阅读全文
posted @ 2017-03-03 14:00 blcblc 阅读(164) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/yutianzuijin/article/details/40268445 首先是常规解法,二分法: 然后是牛顿迭代法。 好巧妙呀! 注意,初值选择很重要。 一步到位,不需要迭代的,牛逼的卡马克算法。是在一段游戏代码里面的。 其实一步也就可以了。 阅读全文
posted @ 2017-03-02 14:00 blcblc 阅读(386) 评论(0) 推荐(0) 编辑
摘要:http://blog.163.com/miky_sun/blog/static/3369405201041753652505/ 阅读全文
posted @ 2017-03-02 11:03 blcblc 阅读(690) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/zjq2008wd/article/details/38417859 首先看代码,静态数据成员分为两种情况,第一种不依赖模版类型参数,第二种依赖模版类型参数。 template <typename T> class TestTemStatic { publi 阅读全文
posted @ 2017-03-02 01:06 blcblc 阅读(368) 评论(0) 推荐(0) 编辑
摘要:下面这篇文章讲的很好。 http://www.cnblogs.com/lihaosky/articles/1606502.html 假设我们有这样的一个类: class Base { public: virtual void f() { cout << "Base::f" <<> virtual v 阅读全文
posted @ 2017-03-02 00:59 blcblc 阅读(12956) 评论(0) 推荐(0) 编辑
摘要:编译 #gcc -g -o test test.c 内存检查#valgrind --tool=memcheck --leak-check=yes --show-reachable=yes ./test Memcheck 能够检测出内存问题,关键在于其建立了两个全局表。 对于进程的整个地址空间中的每一 阅读全文
posted @ 2017-03-01 23:50 blcblc 阅读(2944) 评论(0) 推荐(1) 编辑
摘要:http://www.cnblogs.com/zhuyf87/archive/2013/03/23/2976714.html 第一种是正常的new,它是语言内建的,不能重载。 new operator完成以下三件工作: 1. allocate memory for this object. 2. c 阅读全文
posted @ 2017-03-01 20:49 blcblc 阅读(191) 评论(0) 推荐(0) 编辑
摘要:这篇文章的内容还是不错的: http://www.cnblogs.com/zhuyf87/archive/2012/12/08/2808290.html 这个循环本身没有明显错误,存在的只是一些风格上的问题。 (1)尽量做到const正确性。如果迭代器没有用来修改vector中的元素,应该改用con 阅读全文
posted @ 2017-03-01 18:19 blcblc 阅读(196) 评论(0) 推荐(0) 编辑
摘要:vector的元素类别T,必须具备assignable和copyable两个性质。 vector的容量很重要: 1. 一旦内存重新配置,和vector元素相关的所有references、pointers、iterators都会失效。 2. 内存重新分配很耗时间。 所以,如果程序管理了和vector元 阅读全文
posted @ 2017-03-01 18:11 blcblc 阅读(325) 评论(0) 推荐(0) 编辑
摘要:最重要的区别,是内部实现上。deque是分段存储的。 都是支持随机存取。 http://www.cnblogs.com/zhuyf87/archive/2012/12/09/2809896.html deque与vector的主要不同之处在于: 1. 两端都能快速安插和删除元素,这些操作可以在分期摊 阅读全文
posted @ 2017-03-01 17:54 blcblc 阅读(1029) 评论(0) 推荐(0) 编辑
摘要:new操作符的static(因为new的时候,还没有空间和实例,还需要分配地址,所以肯定是static的) register,以前的关键词了。建议放置在寄存器里面,而且获取其地址是非法的。现在统一忽略。 阅读全文
posted @ 2017-03-01 12:48 blcblc 阅读(232) 评论(0) 推荐(0) 编辑
摘要:父类加了virtual,子类不需要加virtual,多余。加了也不会报错。 父类中不是virtual,子类是virtual,那么父类中的不是虚函数,子类及子子类的派生类中该函数才是虚函数 阅读全文
posted @ 2017-03-01 12:45 blcblc 阅读(900) 评论(0) 推荐(0) 编辑
摘要:除了在头文件里面 #ifndef xxx 可以在实际 include这个头文件的前后,加上 #ifndef,这样就不会打开和扫描这个头文件了。 另外,下面这篇文章里面也总结了 http://www.cnblogs.com/jacktu/archive/2010/07/15/1777974.html 阅读全文
posted @ 2017-03-01 12:42 blcblc 阅读(827) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 10 下一页
点击右上角即可分享
微信分享提示