2012.07.23 22:26

간혹 C++나 여러 언어로 작성된 프로그램들을 보다보면

 

A->Run(); 따위?의 문장을 볼 수 있다.

 

쉽게 말하면 A가 포인터이기 때문에 위와 같이 '->' 기호를 사용하여 함수를 불러오는 것이다.

 

만약 A가 포인터가 아니었다면,

 

A.Run(); 과 같이 사용했을 것이다.

 

예를 들어

 

class MyClass

{

public int myValue;

...

public void myMethod()

{

...

}

}

과 같은 클래스가 있고...

 

MyClass classA, *classB; 와 같이 선언하였다면...

 

classA가 myMethod()를 호출 할 때에는

classA.myMethod()가 될 것이고...

그 안의 변수를 호출할 때에는

classA.myValue; 가 되었을 것이다.

 

그런데 classB는 앞에 *이 붙어있어 실제 객체가 들어있는게 아니라 그 객체를 가리키는 주소값 밖에 가지고 있지 않다.

 

그래서 직접

classB.myMethod(); 이런 식으로 호출하는게 안되니까

classB->myMethod(); 이런 식으로 불러내는 것이다.

그래서 변수도 classB->myValue=123; 이런식으로 쓰면

 

원래는 classA.myValue=123; 이런 걸로 인식하면 된다...

 

즉 classB->myValue=123;은

 

classB를 myValue에 넣고 그게 123 뭐 이런게 아니라...

classB.myValue = 123; 인데 포인터라서 저렇게 쓴것이다.

 

요약하자면 포인터에서 .을 못쓰니까 .대신 쓰는게 -> 라고 보면 될듯...

 

p.s. 걍 이해하고 있는대로 적었는데 잘못된게 있으려나...

저작자 표시 비영리 변경 금지
신고

'Programming > C++' 카테고리의 다른 글

C++ 에서 '->'의 의미  (0) 2012.07.23
Posted by Ianuarias
2012.07.18 14:18

\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent 에서 바꾸면 됨..

 

(기본값) 또는 (Default) 의 데이터를 "Mozilla/5.0"

문자열 값을 새로 만들고 이름을 "Platform"

데이터를 "Macintosh; Intel Mac OS X 10_7_3" 로 바꾸면

 

마치 Mac 컴퓨터에서 접속한 것 처럼 인식함...

물론 실제 WebAgent를 확인하면 난장판...

 

n5c_f_uck.reg

저작자 표시 비영리 변경 금지
신고

'Networking' 카테고리의 다른 글

Interent Explorer Web Agent 바꾸기  (1) 2012.07.18
Posted by Ianuarias
2012.06.21 13:54

Unity3D Editor를 Visual Studio로 선택해도 실행 안되는 문제 해결하기

 

Unity에서 External Script Editor를 Visual Studio로 설정하여도 스크립트를 편집하기 위해 더블 클릭을 했을때, Mono가 뜨는 경우가 있다. (계속)

 

아무리 해도 안되서 포맷하고 다시 설치해도 같은 증상이 발생하여, 난감했었는데...

문제는 오히려 Visual Studio에 있었다.

 

 

 

위 사진에서와 같이 도구-옵션 에서

환경 - 일반 탭의 "파일 연결 복원" 버튼을 눌러주면 이제 유니티에서 스크립트 파일을 더블클릭했을 때 Visual Studio가 실행되는 것을 볼수 있다.

저작자 표시 비영리 변경 금지
신고
Posted by Ianuarias

티스토리 툴바