BLOG main image
분류 전체보기 (222)
Reversing (13)
Pwnable (4)
Linux Kernel (3)
Crypto (2)
Wargames (66)
Programming (18)
Write Up (32)
Project (22)
Web (2)
My Life (52)
Memo (3)
etc (2)
발표자료 (1)
36,063 Visitors up to today!
Today 12 hit, Yesterday 30 hit
daisy rss
tistory 티스토리 가입하기!
2017.05.20 11:37


오늘 한거

1. Reference
2. C언어에서의 Lvalue와 Rvalue
3. C++에서의 Lvalue와 Rvalue
4. Rvalue Reference
5. 클래스를 생성할 때 기본으로 생성되는 것들 (6가지)

1. Reference

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
 
void swap(int&a, int&b) {
    int tmp = a;
    a = b;
    b = tmp;
}
 
int main(void) {
    int a = 10, b = 20;
    int& rA = a;
 
    cout << a << endl;
    cout << rA << endl;
    cout << &<< endl;
    cout << &rA << endl;
 
    swap(a, b);
 
    cout << "a : " << a << ", b : " << b << endl;
 
    return 0;
}
cs

이렇당. rA는 a와 같은 값을 가지고 있다. 그리고 주소를 출력해 보면 a와 rA의 주소가 같다. 닉네임 같은거다. 그래서 swap할 때 많이 쓰인당


2. C언어에서의 Lvalue와 Rvalue

C언어에서의 Lvalue와 Rvalue를 보자. int a = 10; 변수에 값을 대입하는 코드이다.
Lvalue는 위 구문에서 왼쪽과 오른쪽 모두 올 수 있는 값이다. 그리고 Rvalue는 오른쪽에만 올 수 있는 값이다. 10 = a; 이런거는 안된당ㅎㅎ 대체적으로 Lvalue는 변수, Rvalue는 상수를 의미한다.


3. C++에서의 Lvalue와 Rvalue

C++에서는 Lvalue Rvalue 구분을 해당 구문이 지난 후에 그 값이 남아있는가로 구분한다. 

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

C++에서 문자열 EOF까지 입력받고 출력하기  (0) 2018.04.24
c++ 템플릿 공부  (0) 2017.08.29
Lvalue와 Rvalue  (0) 2017.05.20
Name
Password
Homepage
Secret
prev"" #1 #2 #3 next