12月24號 拆箱裝箱

2022-07-21 23:57:27 字數 1054 閱讀 7359

1.c的基本型別使用nsnumber(bool char double int float long)

nsnumber *agenumber = [nsnumber numberwithint:23];

nsnumber *agenumber2 = @23;

int age = [agenumber intvalue];

2.c的復合型別結構nsvalue

表示乙個點(x,y)

struct cgpoint{

cgfloat x;

cgfloat y;

寬度和高度(width,height)

struct cgsize{

cgfloat width;

cgfloat height;

乙個檢視在介面上的尺寸(矩形區域)

struct cgrect{

cgpoint origin;

cgsize size;

3.1)如何建立乙個cgpoint

cgpoint origin = cgpointmake(10,10);

2)如何建立乙個cgsize

cgsize size = cgsizemake(200,300);

3)如何建立乙個cgrect

cgrect rect = cgrectmake(10,10,200,300);

cgfloat x = rect.origin.x;

cgfloat y = rect.origin.y;

cgfloat width = rect.size.width;

cgfloat height = rect.size.height;

4.對結構體進行封裝

nsvalue *rectv = [nsvalue valuewithrect:rect];

nsvalue *pointv = [nsvalue valuewithpoint:origin];

nsvalue *sizev = [nsvalue valuewithsize:size];

cgrect rect1 = [rectv rectvalue];

裝箱和拆箱,自動裝箱和自動拆箱

以integer的建立為例。裝箱 把基本資料型別轉換成包裝類物件 int integer integer num1 new integer 17 拆箱 把乙個包裝類的物件,轉換成基本型別的變數 integer int int num2 num1.intvalue 自動裝箱 integer num3 ...

裝箱和拆箱

在c 中的有兩種型別的變數 值型別和引用型別。當值型別和引用型別相互轉化時,會發生裝箱和拆箱的過程。這裡有一點要宣告 經過拆箱或裝箱的物件會多出它自己乙份拷貝,如圖所示 從圖可以看出它和它的拷貝不在乙個儲存區域。這也是值型別和引用型別的區別所在。值型別總是在棧中,而引用型別總是在託管堆中。目前j2s...

裝箱和拆箱

裝箱 boxing 和拆箱 unboxing 是c 型別系統中重要的概念。它通過允許任何數值型別的資料被轉換為任何形式型別的物件提供了數值型別和引用型別間的緊密聯絡。裝箱和拆箱使得對在其中任何型別都可以最終被看作物件的型別系統的統一的觀察變為可能。裝箱轉換允許任何數值型別可以隱式地轉換為 objec...