正确操作字符串原则:确保尽量少的装箱、避免分配额外的内存空间装箱之所以会带来性能损耗,因为他要完成下面三个步骤:首先会为值类型在托管堆中分配内存,除了值类型本身所分配的内存外,内存总量还要加上类型对象指针和同步块索引所占用的内存。将值类型的值复制到新分配的堆内存中返回已经成为引用类型的对象地址使用S...
分类:
其他好文 时间:
2014-09-24 13:14:46
阅读次数:
141
一个视图原来添加在某个父视图上,然后再将它添加到另外的一个视图上,这个视图会从原来的某个父视图中移除,添加到新的视图上。 子视图对象指针存在父视图的subviews数组中,说明,一个视图可以有多个子视图 视图间的层次关系: 1.子视图覆盖父视图。同一视图的子视图之间,后添加的视图覆盖先...
分类:
其他好文 时间:
2014-09-23 18:42:35
阅读次数:
297
浅拷贝 浅拷贝就是对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。如: char* str = (char*)malloc(100); char* str2 = str; 浅拷贝只是对对象的简单拷贝,让几个对象共用一片内存,当内存销毁的时...
分类:
其他好文 时间:
2014-09-22 15:15:03
阅读次数:
235
在C++中,交换两变量的值一般第一反应都会是如下的代码:
{
temp=a;
a=b;
b=temp
}
但是题目要求不允许使用临时变量temp呢?可能就需要想一会了。但也有解决办法:
{
b=a+b;
a=b-a;
b=b-a;
}
这种做法在a和b数值较小的情况下是对的,但是a+b如果很大则会溢出,所以也不是最优的解法。最好的方法是使用异或:
{
a ^= b...
分类:
编程语言 时间:
2014-09-21 17:10:00
阅读次数:
330
OOP之类和对象 1. this指针的引入 每个成员函数都有一个额外的隐含的形参,这个参数就是this指针,它指向调用对象的地址。默认情况下,this的类型是指向类类型非常量版本的常量指针。可以表示成如下伪代码形式: /* 假设现在有一个类Sales_data,以及其非常量Sales_data类型对...
分类:
编程语言 时间:
2014-09-20 02:15:56
阅读次数:
263
C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)--.成员选择(对象)对象.成员名--->成员选择(指针)对象指针->成员名--2-负号运算符-表达式右到左单目运算符~按位取反运算符~表达式++自增运算符+...
分类:
编程语言 时间:
2014-09-19 22:28:16
阅读次数:
197
优先级运算符名称或含义使用形式结合方向说明1[ ]数组下标数组名[常量表达式]左到右圆括号(表达式)/函数名(形参表)成员选择(对象)对象.成员名成员选择(指针)对象指针->成员名2+正号运算符+表达式右到左单目运算符负号运算符-表达式自增运算符++变量名/变量名++自减运算符--变量名/变量名--...
分类:
编程语言 时间:
2014-09-17 21:39:02
阅读次数:
270
http://blog.csdn.net/hackbuteer1/article/details/7561235智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(refe...
分类:
其他好文 时间:
2014-09-16 23:25:41
阅读次数:
231
转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/7561235
智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对...
分类:
编程语言 时间:
2014-09-15 17:49:29
阅读次数:
254
如何规避使用不慎,带来的额外的性能开销:1.确保尽量少的装箱在自己编写的代码中,应当尽可能地避免编写不必要的装箱代码。装箱操作会带来性能损耗的原因:a.首先,会为值类型在托管堆中分配内存。除了值类型本身所分配的内存外,内存总量还要加上类型对象指针和同步块索引所占的内存。b.将值类型的值赋值到新分配的...
分类:
其他好文 时间:
2014-09-10 19:03:40
阅读次数:
182