Algorithm(127)
-
[C++] iterator
1. iterator 반복자(iterator)는 객체 지향적 프로그래밍에서 배열이나 그와 유사한 자료 구조의 내부의 요소를 순회(traversing)하는 객체이다. C++에서의 iterator는 컨테이너(배열이나 리스트 등)에 저장되어 있는 요소의 주소를 가리키는 개체를 말하며 포인터를 일반화한 것을 말한다. #include #include using namespace std; vector v; int main(){ for(int i=1; i
2023.07.08 -
[C++] 메모리 할당
0. 참고자료 프로그램의 메모리 세그먼트 구조 : Code(text), Data(data, bss) Segment, Stack, Heap 프로그램을 실행하게 되면, CPU 프로세서는 보조기억장치(HDD, SDD)에 있는 프로그램 정보를 읽어... blog.naver.com 1. 프로세스 메모리 구조와 할당 Segment 방식은 가상주소(virtual address)인 논리적 주소(logical address)를 사용한다. 프로그램에 따른 상대적 위치를 바탕으로 Offset을 더하는 방식으로 메모리의 물리적 주소(physical address)에 접근한다. 위로 갈수록 조금이라도 더 정적?이라고 할 수 있겠다. 가. 정적 할당 컴파일 단계에서 메모리를 결정하는 것. code/ text segment Dat..
2023.07.07 -
[C++] 배열과 포인터
1. pointer #include using namespace std; int main(){ string a = "hello world"; string * b = &a; cout
2023.07.01 -
[C++] pair와 tuple
1. pair & tuple #include #include // for pair #include // for tuple, tie using namespace std; pair pi; tuple tl; int a, b, c, d, e, f; int main(){ pi = {1, 2}; tl = make_tuple(1,2,3); tie(a,b) = pi; cout
2023.07.01 -
[C++] string
1. string #include using namespace std; int str_out(){ string a = "가나다"; cout
2023.03.20 -
[C++] 입력과 출력
1. 입출력 C++의 대표적인 입출력 방법 2가지에 대하여 알아보자. 가. scanf와 printf C언어에서도 배우는 방법이다. 형식을 지정해야 하는 점이 다소 번거롭다. #include int a; int main(){ scanf("%d", &a); printf("%d", a); printf("\n"); return 0; } 나. cin와 cout #include using namespace std; int a; int main(){ cin >> a; cout a >> b; cout s; for(int j = 0; j >m;..
2023.02.10 -
[C++] using namespace
1. using namespace? #include using namespace std; string a; int main(){ cin >> a; cout a; : a에 주어진 값을 대입한다. cout
2023.02.10