随笔分类 -  C++

C++ 闭包(closure)
摘要:闭包有很多种定义,一种说法是,闭包是带有上下文的函数。说白了,就是有状态的函数。更直接一些,不就是个类吗?换了个名字而已。 一个函数, 带上了一个状态, 就变成了闭包了. 什么叫 "带上状态" 呢? 意思是这个闭包有属于自己的变量, 这些个变量的值是创建闭包的时候设置的, 并在调用闭包的时候, 可以访问这些变量. 函数是代码, 状态是一组变量 ,将代码和一组变量捆绑 (bind) , 就形成了... 阅读全文

posted @ 2013-11-29 15:55 ′ Visitors 阅读(15258) 评论(0) 推荐(2)

C++ Lambda 表达式
摘要:或许,Lambda 表达式算得上是 C++ 11 新增特性中最激动人心的一个。这个全新的特性听起来很深奥,但却是很多其他语言早已提供(比如 C#)或者即将提供(比如 Java)的。简而言之,Lambda 表达式就是用于创建匿名函数的。GCC 4.5.x 和 Microsoft Visual Studio 早已提供了对 lambda 表达式的支持。在 GCC 4.7 中,默认是不开启 C++ 11 ... 阅读全文

posted @ 2013-11-28 21:34 ′ Visitors 阅读(1482) 评论(0) 推荐(0)

C++ 类成员的构造和析构顺序
摘要:我想对面向对象有了解的童鞋应该不会对类和对象感到陌生吧 ! 对象并不是突然建立起来的,创建对象必须时必须同时创建父类以及包含于其中的对象。C++遵循如下的创建顺序: (1)如果某个类具体基类,执行基类的默认构造函数。 (2)类的非静态数据成员,按照声明的顺序创建。 (3)执行该类的构造函数。 即构造类时,会先构造其父类,然后创建类成员,最后调用本身的构造函数。 下面看一个例子吧 ... 阅读全文

posted @ 2013-11-18 15:04 ′ Visitors 阅读(8225) 评论(1) 推荐(1)