厚厚君

导航

2015年4月25日 #

Euclid gcd规则的证明

摘要: Euclid 规则:如果x和y都是正整数,而且x>=y,那么gcd(x,y)=gcd(x mod y, y)假设x和y的gcd为a,那么必然有x=a*n1y=a*n2(gcd(n1,n2)=1)那么我们求x mod y=>a*n1 mod a*n2令x mod y=m,那么必然满足x=n3*y+m=... 阅读全文

posted @ 2015-04-25 19:27 厚厚君 阅读(600) 评论(0) 推荐(0) 编辑

2015年4月22日 #

右值引用深入探讨

摘要: 假若X这个类型重载了拷贝构造以及移动构造。那么思考一下:void foo(X&& x){ X anotherX = x; // ...}哪个构造函数将会被调用?在这里x是右值引用类型,那么他是右值还是左值呢?之前对左值和右值的定义中已经表明了,如果我们可以对其进行取址操作,那么他就是左值,所以你... 阅读全文

posted @ 2015-04-22 19:54 厚厚君 阅读(872) 评论(6) 推荐(0) 编辑

2015年4月15日 #

右值引用和强制移动语义

摘要: 假设X是一个类型,那么X&&称作X的右值引用类型,于是为了区分,我们称X&为X的左值引用类型。右值引用和左值引用很相似,当然也有一些细微的不同点:当我们重载函数解析的时候,参考下面的例子:void foo(X& x); void foo(X&& x); X x;X foobar();foo(x); ... 阅读全文

posted @ 2015-04-15 13:02 厚厚君 阅读(884) 评论(0) 推荐(1) 编辑

2015年4月11日 #

右值引用之移动语义

摘要: 本文翻译自关于右值引用解释的经典文章,如果英文还可以的话,直接去看英文原文。thbecker.net/articles/rvalue_references/section_01.html右值引用是c++中的一个特性,并且已经入驻c++11标准,可能大家一开始接触的时候感觉有点难以理解,但是他的确是很... 阅读全文

posted @ 2015-04-11 15:12 厚厚君 阅读(331) 评论(0) 推荐(0) 编辑

2015年4月4日 #

关于Condition Variable的一些思考

摘要: 可能大家都使用过condition variable(之后称cv),一些博客也对cv做了介绍,但是有的说的不完全正确,甚至有误导使用者的倾向,其实最合理的使用方式是查阅文档,如果你英语还ok的话,http://en.cppreference.com/w/cpp/thread/condition_va... 阅读全文

posted @ 2015-04-04 20:42 厚厚君 阅读(1966) 评论(0) 推荐(0) 编辑