🎯 오늘 목표
반환타입 함수이름(매개변수)
{
return 값;
}
int add(int a, int b){
return a+b;
}
int result = add(3,5);
void change(int x)
{
x = 100;
}
int main()
{
int a = 10;
change(a);
std::cout << a << std::endl;
}
=>10
int& ref = a;
-> ref는 a의 별명
void change(int &x)
{
x = 100;
}
int main()
{
int a =10;
change(a);
std::cout << a << std::endl;
}
=> 100
a ─────────┐
│
ref ───────┘ (같은 대상)
void print(int arr[])
{
arr[0] = 999;
}
int main()
{
int a[3] = {1,2,3};
print(a);
std::cout << a[0];
}
=> 999
C++ 에서
===================================================
C++은 포인터가 없어진 언어가 아니라 포인터를 감싸서 숨겨둔 언어다
C vs C++
c: 포인터가 주인공
C++ : 포인터는 핵심, 직접 안써도 되게 설계
void print(int arr[])
int& ref = a;
-> 포인터를 인간 친화적으로 포장한 것
내부적으론??
int* p = &a; 이랑 동급