728x90
반응형
스타일 기본 문법
1. 변수 초기화
//변수 초기화
#include <iostream>
using namespace std;
int main()
{
int a(10); //c++스타일의 변수 초기화
//int a = 10; //c스타일의 변수 초기화
//a(5); //함수인지 변수인지 모르므로 에러가 난다.
int b(a+5);
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
2. 범위 기반 for문
//범위 기반 for문
#include <iostream>
using namespace std;
int main()
{
int arr[10] = { 3,1,5,1,5,9,3,6,7,5 };
for (int &n : arr) // = (int i = 0; i < 10; i++)
{
cout << n << ' '; // = cout << arr[i] << endl;
n++; // for문에서 레퍼런스 변수를 사용했으므로 배열의 값이 변한다.
}
cout << endl;
for (int n : arr) //위 for문에서 변한 값이 출력됨
{
cout << n << ' ';
}
cout << endl;
}
3. 레퍼런스 변수
1.
#include <iostream>
using namespace std;
int main()
{
int a(5);
int &p = a; //p가 가르키는 a의 값이 변함
p = 10;
cout << p << endl;
cout << a << endl;
return 0;
}
2.
#include <iostream>
using namespace std;
void swap(int& a, int& b)
{
int tmp = a;
a = b;
b = tmp;
}
int main()
{
int a(5), b(7);
swap(a, b);
cout << "a = " << a << endl;
cout << "b = " << b << endl;
return 0;
}
R-Value : 등호를 사이에 두고 오른쪽에 있는 값(수정할 수 없는 값)
L-Value : 등호를 사이에 두고 왼쪽에 있는 값(수정할 수 있는 값)
int main()
{
// r-value : 등호를 사이에 두고 오른쪽에 있는 값(수정할 수 없는 값)
// l-value : 수정할 수 있는 값
int a(5);
//int&& b = a;
//int&& r1 = a; //r-value참조 불가능
int&& r2 = 3;
int&& r3 = a * a;
return 0;
}
//범위 기반 for문을 사용하여 이차원 배열을 출력
#include <iostream>
using namespace std;
int main(void)
{
int arr[2][3] = { {1,2,3},{4,5,6} };
//작성
for (int (&ln)[3] : arr)
{
for (int& col : ln)
{
cout << col << ' ';
}
cout << endl;
}
cout << endl;
for (int(*ln)[3] = arr; ln < arr + 2; ln++)
{
for (int* c = *ln; c < *ln + 3; c++)
{
cout << *c << ' ';
}
cout << endl;
}
return 0;
}
728x90
반응형