본문 바로가기

C++

C++2일차

C++2일차



C++스타일의 범위 기반 for문 사용법


1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
using namespace std;
 
int main(){
    int arr[10= { 3141592653};
    for(int n : arr){
        cout << n << endl;
    }
    return 0;
}
cs

아래는 C++스타일의 범위 기반 for문 사용한 예제이다 위의 예제는 배열에 있는 내용이 차례로 출력하는 예제이다. 단 이렇게 할경우 배열의 값을 바꿀수는 없다

쉽게설명) for안에 int n = arr[(순서)]이런식으로 돌아간다는 거입니다.

1
2
3
4
5
6
7
8
9
10
#include <iostream>
 
using namespace std;
 
int main() {
    int arr[10= { 3141592653 };
    for (int &n : arr) {
        n++;
    }
}
cs

하지만 for안의 int n에 &을 붙임으로서 배열의 값을 변환시킬수 있다.

쉽게설명)for안에 int &n = arr[(순서)] 이런식으로 해서 값을 변환 시킬수 있다는 거 입니다.

C++ 레퍼런스 변수


1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
 
using namespace std;
 
int main() {
    int a(5);
    int &= a;
    p = 10;
    cout << p << endl;
    cout << a << endl;
}
cs

위의 예제는 p라는 레퍼런스라는 변수를 만들고 a라는 변수를 가르키고 있습니다. 따라서 p의 값이 변하면 a도 변하는 것을 알수 있습니다. 단 레퍼런스 변수는 상수나 메모리에 저장이 되지 않은 값은 레퍼런스 변수에 넣지 못합니다.


C++ r-value와 l-value

l-value는 단일 식를 넘어 지속되는 개체를 참조하며 l-value는 이름이 있는 모든 변수라 할수 있습니다. 그럼 r-value는 반대겠죠?

ex) 위의 레퍼런스 변수의 예저를 보면 p=10; 을 볼때 p를 l-value 10을 r-value라고 할수 있습니다.



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

C++6일차  (0) 2018.06.01
C++5일차  (0) 2018.05.30
C++4일차  (0) 2018.05.30
C++3일차  (0) 2018.05.30
C++1일차  (0) 2018.05.27