注意几点:
分配内存不要使用new和delete,因为new的同时就把对象构造了,而我们需要的是原始内存。
所以应该使用标准库提供的allocator类来实现内存的控制。当然也可以重载operator new操作符,因为二者都是使用malloc作为底层实现,所以直接采用malloc也可以。
对象的复制必须使用系统提供的uninitialized_fill和uninitialized_...
分类:
编程语言 时间:
2014-10-02 18:37:43
阅读次数:
231
一、算术运算符和赋值运算符JavaScript提供的算术运算符有+, -, *, /, %. 运算后的值通过 = 赋值。对于 x = x operator y, 我们也可以应用复合赋值运算符,即 x += y 相当于 x = x + y.+ 也可用作字符串的连接,如1 var str = 'hell...
分类:
编程语言 时间:
2014-10-02 17:36:14
阅读次数:
221
继上次重载operator new检测内存泄漏失败之后,妥协了。决定不管是否是准确指明哪一行代码出现内存泄漏,只要告诉我是否有泄漏就行了,这样就没有new替换的问题。在开发中,总是一个个小功能的开发。如果开发完一个小功能告诉我有内存泄漏,那想必也是比较容易找的。 这次的想法是重写operato...
分类:
其他好文 时间:
2014-10-02 16:36:43
阅读次数:
202
采用自定义的operator运算符实现自己的内存分配策略,在某些时候可以提高程序的效率。 C++中的new运算符,具体工作流程如下: 1.调用operator new申请原始内存 2.调用place new表达式,执行类的构造函数 3.返回内存地址 而delete操作符的工作是: 1.调用对象的析构...
分类:
其他好文 时间:
2014-10-02 02:25:11
阅读次数:
165
Divide two integers without using multiplication, division and mod operator.方法一:暴力破解,不断用被除数减去除数,直至出现负数停止,铁定超时。方法二:对方法一的改进,每次寻找 满足2k-1 * 除数 0 && diviso...
分类:
其他好文 时间:
2014-10-02 01:55:51
阅读次数:
271
1、了解new-handler的行为当operator new 抛出异常以反映一个未满足的内存需求之前,他会先调用一个客户指定的错误处理函数,一个所谓的new-handler。为了指定这个“用以处理内存不足”的函数,客户必须调用set_new_handler,那个声明于的一个标准程序库函数:name...
分类:
其他好文 时间:
2014-10-01 20:15:01
阅读次数:
137
MVNO(Mobile Virtaul Network Operator)虚拟网络运营商,没有自己的实体网络,通过租用MNO(Mobile Network Operator)的网络来提供网络服务。
我们知道Spec规定operator之间是通过MCC/MNC (Mobile Country Code/Mobile Network Code)来区分的;而MVNO和对应MNO的MCC/MNC是相同的...
分类:
其他好文 时间:
2014-09-30 13:36:29
阅读次数:
418
一:Background & 相关flow
MTK Operator name display在手机中分成两种类型:
1. Sim卡名称:
根据开机从SIM卡中读取的IMSI去到Spn-conf.xml中(如果是MVNO的卡则是Virtual-spn-conf-by-***.xml中)匹配得到的name,会保存在SIMInfo这个database中,后续sim卡的名称就从此datab...
分类:
移动开发 时间:
2014-09-30 13:03:49
阅读次数:
334
(一)
当我们写下了下面这个语句:
Widget* pw = new Widget;
这个时候,共有两个函数被调用:一个分配内存的operator new,另外一个是Widget的default构造函数。
假设第一个调用成功,第二个却抛出异常。步骤一所分配内存必须取消并恢复旧观,否则会造成内存泄漏。这时,客户没能力归还内存,因为Widget构造函数抛出异常,pw尚未被赋值,客户手上...
分类:
编程语言 时间:
2014-09-30 09:50:32
阅读次数:
250
首先,如下写法:Class A = B;Class A;A = B;并不等价,前者等价于A(B),后者等价于A.operator=(B) 问题源于我想要用类似如下写法完成复制拷贝函数Class(Class &t) { *this = t;} 尝试重载operator=,由于写挂了,或者说是...
分类:
其他好文 时间:
2014-09-30 02:35:21
阅读次数:
205