
C++ 의 reference는 1. 이미 존재하는 변수의 2. 메모리 주소를 저장한다.(포인터처럼) 이미 존재하는 대상의 주소를 그 녀석의 다른 이름으로 사용되는 것인데, 도입된 이유는 할당이 일어나는 상황에서(함수의 인자로 넘겨지는 경우도 포함하여) 메모리 문제와 관련 있다. C/C++ 에서는 할당의 기본이 Call-by-Value 이다. 쉽게 말해 원본이 아닌 카피본을 쓴다는 뜻이다. 어떤 타입을 aType 이라 하자. (int, double 처럼 제공되는 타입이든 사용자 정의든 상관없다.) aType x=a; 위의 평범한 할당문은 a 라고 이름 붙은 메모리의 내용을 x 라고 이름 붙은 메모리로 복사한다. 이후 메모리 a,x 에는 같은 정보가 기록되어 있을 뿐 서로 영향을 주지 않는다. a 를 변경하..

1. 참조(Reference) 참조라는 용어는 많은 경우 pointer 와 대립되는 개념으로 쓰는 것 같다. 여기서 굳이 메모리 구조나 포인터를 공부할 이유는 없으니 그냥 다음의 사항만 외우자. JavaScript 에서 reference 는 오직 object type 에서만 발생한다. 다음 코드를 보자. 결과는 x 출력은 여전히 1 이고 y 출력은 2 이다. 이 경우 y 는 x 를 이용했지만 값을 사용했을 뿐 두 변수는 별개의 것이다. 여기서 1 이 Number Type 즉 primitive type 임을 명심하자. 이번에는 object 를 가지고 비슷한 작업을 해보자. 결과를 확인해보면 a 의 name 역시 'math'로 바뀌어 있음을 확인할 수 있다. if(a===b) console.log('Refe..
- Total
- Today
- Yesterday
- bash script
- persistent segment tree
- 세그먼트 트리
- dynamic programming
- JavaScript
- math font
- Dijkstra
- bash
- RUBY
- Aho-Corasick
- 다익스트라
- segment tree
- BOJ
- C++ big number
- python3
- Reference
- number theory
- 정수론
- fenwick tree
- lazy propagation
- shell
- map
- max flow
- stack
- Vim
- javascript array
- script
- 백준
- Shell Programming
- nearest common ancestor
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |