只有看boost源码才能弄明白发生了什么。首先我是将vector里面写入了数据,然后用boost::asio::buffer将vector构造成了mutable_buffer_1对象。参考该文档的重载形式:http://www.boost.org/doc/libs/1_53_0/doc/html/b...
分类:
其他好文 时间:
2014-06-23 08:30:25
阅读次数:
446
mutalbe的中文意思是“可变的,易变的”,跟constant(既C中的const)是反义词。 在C 中,mutable也是为了突破const的限制而配置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。 我们知道,假如类的成员函数不会改变对象的状态,那么这个成.....
分类:
其他好文 时间:
2014-06-20 14:21:22
阅读次数:
200
在计算机编程语言中用来为复杂的声明定义简单的别名,与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。
typedef声明,简称typedef,为现有类型创建一个新的名字,或称为类型别名,在结构体定义,还有一些数组等地方都大量的用到。
定义一种类型的别名,而不只是简单的宏替换。...
分类:
其他好文 时间:
2014-06-16 19:51:22
阅读次数:
164
1概述
在计算机编程语言中用来为复杂的声明定义简单的别名,与宏定义有些差异,它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。2定义
typedef声明,简称typedef,为现有类型创建一个新的名字,或称为类型.....
分类:
其他好文 时间:
2014-06-05 18:38:46
阅读次数:
365
在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。
我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被mutalbe来修饰。
关键字mutable是...
分类:
其他好文 时间:
2014-06-04 21:01:41
阅读次数:
239
关键字mutable是C++中一个不常用的关键字,他只能用于类的非静态和非常量数据成员我们知道一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对像的状态也会随之发生变化!如果一个类的成员函数被声明为const类型,表示该函数不会改变对象的状态,也就是该函数不会修改类的非静态数据成...
分类:
其他好文 时间:
2014-05-26 12:13:24
阅读次数:
243
第一、复制对象的基本概念
复制一个对象为副本,开辟一块新的内存来存储副本对象。
第二、如果一个对象想具备复制的功能,必须实现协议和协议
NSObject自带的常用的对象有:NSNumber、NSString、NSArray、NSDictionary、NSMutableArray、NSMutableDictionay、NSMutableString,copy产生的对象时不可变的,mutable...
分类:
移动开发 时间:
2014-05-22 12:34:46
阅读次数:
345
近几年,业内对并行和并发积累了丰富的经验,有了较深刻的理解。但之前积累的大量教材,在当今的软硬件体系下,反而都成了负面教材。所以,有必要加强宣传,翻新大家的认知。
首先,天地倒悬,结论先行:当你需要并行时,优先考虑不需要线程间共享数据的设计,其次考虑共享Immutable的数据,最糟情况是共享Mutable数据。这个最糟选择,意味着最差的性能,最复杂啰嗦的代码逻辑,最容易出现难于重现的bug...
分类:
其他好文 时间:
2014-05-10 09:00:09
阅读次数:
334
1、const、mutable与volatile的区别:const表明内存被初始化以后,程序将不能对它进行修改。volatile则表明,即使程序代码没有对内存单元进行修改,但是里面的值也可能会发生变化。例如:将一个指针指向某个硬件位置,其中包含了来自串行端口的时间和信息,在某些情况下,硬件而不是程序...
分类:
编程语言 时间:
2014-05-06 23:53:29
阅读次数:
518
iOS Foundation 框架中 Mutable 的类们...
分类:
移动开发 时间:
2014-05-04 18:49:53
阅读次数:
493