自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 C++中的可调用对象

c++中的可调用对象有以下几种:函数函数指针bind创建的对象lambda表达式重载函数调用运算符的类函数对象都可以在使用算法时作为谓词来调用lambda表达式[capture list] (parameter list) -> return type { function body }capture 是一个lambda表达式所在函数中定义的局部变量列表,可以捕获使用,可以通过加上 &

2016-10-25 15:21:23 665

原创 参数绑定bind

bind函数 定义在头文件functional中当某算法只接受单一参数,而我们需要多个参数来解决问题时要用到参数绑定。 如: 假如我们想找到容器中string长度大于5的元素时定义一个比较函数: bool check_size(const string &s, string::size_type sz){ return s.size() >= sz;}但是find_if第三个参

2016-10-25 12:34:02 633

原创 将重载运算符定义为成员函数还是普通的非成员函数

● 赋值 = 、下标[ ]、调用( )、和成员访问箭头 ->必须是成员函数 ● 符合符合赋值运算符应该是成员,但是并非必须 ● 改变对象状态的运算符或者与给定类型密切相关的运算符,如 递增、递减和解引用运算符应该 是成员 ● 具有对称性的运算符可能转换任一端的运算对象,例如算数、相等性、关系和位运算符等,因此通常应该是普通的非成员函数。举例:

2016-10-25 12:17:02 2845

原创 右值和左值,右值引用和左值引用

右值和左值左值右值的形式区分(或者称语法区分)是能否用取地址&运算符;语义区分(即其本质涵义)在于表达式代表的是持久对象还是临时对象。 当一个对象被用作右值的时候,用的是对象的值(内容),当对象被用作左值的时候,用的是对象的身份(在内存中的位置) ——CppPrimer, 5th返回左值的有:赋值运算符需要一个(非常量)左值作为其左侧运算对象,得到的结果也是一个左值取地址作用于一个左值运算

2016-10-25 12:13:35 1009

原创 使用lambda输出容器元素

头文件 iterator algorithmcopy(ivec.begin(), ivec.end(), std::ostream_iterator<string>(std::cout, " "));

2016-10-24 19:44:31 424

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除