C# 포인터...
훈스에 글올리신 분이 있어서 답변달다가
깊은 복사. 얉은 복사..
값타입을 파라미터로 넘겨주면 메모리 주소를 넘겨주는게 깊은복사
값들을 복사해서 새 메모리에 적재해서 넘겨주는게 얉은복사...
음!! 아닌가? 어느 블로그는 반대로 설명이 되있어서... 아리 까리 하네...
기록해둔것 같은데 없네...
int n = 10;
int k = 112;
string t = "";
string s = "";
string h = "";
unsafe
{
t = string.Format("{0}", (int)&n);
s = string.Format("{0}", (int)&k);
}
t +="/"+ Ptr( n); // 바뀐 주소값이 넘어오는것을 볼 수 있다.
t += "/" + Ptr(ref n); // 처음 n값과 같은 주소값.
s += "/" + Ptr(ref k);
public unsafe string Ptr( int n)
{
string addr = "";
addr = string.Format("{0}", (int)&n);
return addr;
}
public unsafe string Ptr(ref int n)
{
string addr = "";
unsafe
{
fixed( int* l = &n )
{
addr = string.Format("{0}", (int)l);
}
}
return addr;
}
'# 1) 프로그래밍' 카테고리의 다른 글
.Net] 양쪽 맞춤. (0) | 2012.03.25 |
---|---|
.Net] C# 객체 숨기기.... (0) | 2012.03.22 |
컨트롤 마우스 이동 처리 (0) | 2012.03.14 |
.Net 2008 ] XML 직렬화 (0) | 2012.03.13 |
Conditional 속성 사용!!! (0) | 2011.10.26 |