본문 바로가기

c++ 주소7

C++ 10 [참조변수] ▣ & : 참조자 ▣ Player& p1 = player; : 참조변수 선언 및 초기화 ▣ Player& p1; : 참조변수는 선언할 때 초기화를 같이 진행해야 한다 그렇지 않으면 컴파일 오류 ▣ p1.lvUp(10); : 참조변수는 일반변수처럼 사용 가능해서 포인터처럼 -> 이 아닌 . 으로 접근 ▣ 값을 접근할 때 참조변수는 *p 포인터처럼 값을 접근할 때 마다 *를 붙이지 않아도 된다. 2023. 4. 4.
C++ [인수 객체, 인수 포인터, 인수 레퍼런스] ▣ 클래스 생성, 멤버변수, 멤버함수 생성 ▣ Play함수에 Player클래스의 객체 인수를 받는다. ▣ 인수로 받아오게 되면 바로 해당 인수의 객체를 사용할 수 있다. ▣ 다른 함수에서도 객체를 받아오면 그 해당 객체의 멤버 함수 호출 가능 ▣ 레퍼런스 인수로 받아와서 호출가능 주소를 받아오기 때문에 원본 수정 가능 ▣ 포인터로 인수를 받아 올 수 있다. ▣ 단 & 주소로 받아와야 하고 포인터로 받아온 객체는 -> 화살표로 접근해야 한다. 2023. 2. 10.
C++ [Swap, 레퍼런스 인수] ▣ int& num1 == 레퍼런스 인수(주소 값을 저장한다.) ▣ int*p = &num1; 포인터와 동일하지만 포인터는 초기값이 없으면 안 되기 때문에 그 점에 차별점이 있다. ▣ &변수이름 == 변수의 주소를 의미한다. 2023. 2. 8.
C++ 8장 [포인터 객체] ▣ 안녕하세요. 이번장에서는 포인터로 객체를 다루는 코드를 공부해보도록 하겠습니다. 포인터는 주소를 저장하는 변수입니다. C언어의 포인터의 개념과 동일합니다. 혹시 포인터를 모르시는 분은 C언어 공부에 포인터 부분을 꼭 공부해보세요. 이제 포인터 객체를 코드를 작성하며 공부해보도록 하겠습니다. ▣ 먼저 기본적인 클래스를 생성해주는 코드와 멤버 함수 코드를 작성해주세요. 그리고 메인 함수에서 Calculator num; 로 객체를 선언합니다. 그런 다음에 포인터를 선언합니다. Calculator* p = num(자료형 변수 이름 = 주소)의 형태로 코드를 작성합니다. 변수를 선언하는 코드와 동일합니다. 그리고 포인터를 이용하여 멤버 함수를 호출해보겠습니다. 포인터에 있는 멤버함수를 접근하기 위해서.(점) .. 2022. 10. 20.
C++ [레퍼런스변수, 포인터, 주소, 참조] ▣ 안녕하세요 이번장에서는 포인터를 꼭 공부하고 진행해주세요. 메모리 주소에 대한 개념이 없으면 어렵습니다. ▣ 첫번째는 포인터를 이용해서 변수에 값을 바꿔보도록 하겠습니다. int num = 10; 변수를 정의하고 int *으로 int에 주소를 저장하는 pNum를 주소를 선언해줍니다. 그리고 &num에 주소를 대입해서 넣어주세요 그리고 값과 주소를 출력하는 코드를 넣고 *pNum 포인터로 간접으로 접근해서 20으로 대입을 해주고 출력을 하면 주소가 동일한걸 확인할 수 있고, 값이 바뀐 것도 확인할 수 있습니다. ▣ 이부분을 C++에서는 더 직관적으로 사용하게 만든 게 레퍼런스 변수, 참조 변수입니다. ▣ 이번에는 C++에 레퍼런스변수로 주소를 저장해서 값을 바꿔보겠습니다. 쉽게 정의를 해보겠습니다. 포.. 2021. 7. 23.
C++ [for문, 포인터, 레퍼런스변수] ▣ C언어에 for문 형식입니다. (초기식, 조건, 증감) 이렇게 for문 함수 형식으로 C++에서 사용할 수 있습니다. 그리고 C++에서의 for문 스타일도 존재합니다. ▣ for( 변수 : 범위 ) 에 형식으로 for문을 작성할 수 있습니다. 그럼 범위에 넣었던 aList에 하나하나에 요소에 값을 변수에 하나씩 대입을 합니다. 그리고 그 범위가 끝날때까지 반복을 하는 형식입니다. ▣ 이번에는 for문을 이용하여 배열에 값들에 +1씩을 더하는 코드를 작성해보겠습니다. 하나하나 요소를 접근하여 i++를 하고 다시 for문을 활용하여 출력을 해보면 값이 하나도 안바뀌어 있는걸 확인할 수 있습니다. ▣ 우리가 여기서 생각해야할 부분은 for에 있는 (int i입니다. for() 이렇게 괄호가 있으면 함수이기.. 2021. 7. 9.
C++ [구조체 함수 사용] ▣ 먼저 C언어와 동일하게 구조체를 선언해줍니다. typedef는 struch My_Game을 하나에 별칭으로 지정하기 위함이니다. MyGame;으로 지정하면 main함수에서 struch My_Game 이렇게 작성하지 않아도 MyGame mygame 이렇게 선언할 수 있습니다. ▣ 그리고 더하기를 함수를 만들어주시고 main함수에서 mygame.sum = Calculator(mygame.number1, mygame.number2); 로 함수에 우리가 초기값으로 지정한 값을 주고 반환값을 sum에 넣어주고 출력을 하면 값이 잘 나오는걸 확인할 수 있습니다. 2021. 6. 8.