목록C++ (53)
have to do_yeon

1. Const (상수) 말 그대로 변수나 함수에 붙여주면 상수가 된다. 일반 변수에 붙여도 되고 포인터에 붙여도 된다. 마음대로~ 자신과 가장 가까운 것을 상수화한다. 순서를 헷갈리지 말아야 하는데... 예제로 확인해보도록 하자. #include using namespace std; int main() { int a = 100; int b = 200; // non const 포인터 int* ptr = &a; ptr = &b; // 주소 변경 가능 *ptr = 300; // 값 변경 가능 // 상수 포인터(const pointer) int* const ptr2 = &a; ptr2 = &b; // error! 포인터가 상수이므로 변경 불가능 *ptr2 = 300; // 값은 변경 가능 // 상수에 대한 포..

1. Call by value VS Call by reference ① Call by value 함수가 호출될 때, 메모리 공간 안에서는 함수를 위한 별도의 임시 공간이 생성된다 변수의 값을 복사하여 함수의 인자로 전달하므로 함수 안에서 인자의 값이 변경되어도 외부의 변수의 값은 변경되지 않는다. ② Call by reference 함수가 호출될 때, 메모리 공간 안에서는 함수를 위한 별도의 임시 공간이 생성된다. 함수가 종료되면 해당 공간은 사라진다. 함수 호출시 인자로 전달되는 변수의 레퍼런스를 전달하므로 함수 안에서 인자의 값이 변경되면, arguement로 전달된 객체의 값도 함께 변경된다. 예시를 보자. #include using namespace std; //두 수를 바꾸는 함수를 만들어보자...

1. Object Oriented (객체 지향 프로그래밍) 객체지향이라고 하면 어렵게 생각하는 사람이 많을텐데, 간단하게 이야기 하자면 인간의 관점에서 쓰는 것이 아니라고 생각하면 된다. 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라, 프로그램을 수많은 '객체(object)'라는 기본 단위로 나누고 이들의 상호작용으로 서술하는 방식이다. 객체란 하나의 역할을 수행하는 '메소드와 변수(데이터)'의 묶음으로 봐야 한다. 출처 >> https://url.kr/lr87cw 여담 한마디 하자면, 컴퓨터뿐만 아니라 기타 공학과 같은 조금 고급 지식 자료를 찾아볼 때, 위키의 도움을 꺼려하지 않았으면 하는데 생각보다 전문적인 내용이 많기 때문이다. 오히려 어려운 말들을 주석 등을 통해서 쉽게 설명해줄 ..
1. Structure (구조체) 강의자료에는 정의로 "각 부분과 요소들이 모여 이루어진 물체나 형태." 라고 적혀있다. 이 말 그대로이다. 변수 덩어리라고 생각하면 편하다. 여러개의 변수를 하나로 묶어서 단위로 운용한다. struct Person { string name; int age; string major; }; 위 구조체는 세 개의 변수를 Person이라는 큰 구조로 묶은 것이다. #include using namespace std; struct Person { string name; int age; string major; }; int main(){ Person DY;// 구조체 이름 짓기 DY.name = KDY; DY.age = 22; DY.major = Art&Tech; cout

1. if - else (조건문) 파이썬이나 C에서도 했던 것이라 모르는 사람이 없을 것으로 보인다. 다만 하나 알고 있어야 할 것은, if () { } else if () { } else { } if () { } else { if () { } else { } } 위 두 코드가 같다는 점이다. else if를 단순히 if 다음에 오는거~ 라고만 생각하고 있으면 틀린말은 아니지만 맞는말도 아니다~ 2. switch 조건문의 한 종류이다. 다음 예제를 통해 if-else로 표현한 코드를 switch로 표현할 수 있음을 알 수 있다. // if-else if( == ) { } else if( == ) { } else if( == ) { } else { } // switch switch () { case : b..

1. string (문자열) 헤더파일 : string (문자열) = char (문자) 의 집합. 따라서 string (문자열) 의 각각 글자를 char (문자)로 분리 가능하다. #include #include using namespace std; int main() { string s = "Hello World!"; char c = s[1]; cout

1. Essentioal Structure of C++ Program C++ 코드를 작성할 때 기본이 되는 구조이다. 각 행에 대한 설명을 주석으로 첨부해놓았다. // Header files #include // Namespace skip using namespace std; // Function Header int main() {// Return Type, Function name cout https://en.cppreference.com/w/cpp/header C++ Standard Library headers - cppreference.com Standard Library headers The interface of C++ standard library is defined by the followi..
헤더파일 및 사용방법 헤더파일 : stable_sort(시작점주소, 마지막점주소 +1, 함수); #include #include int main(){ int arr[6] = {2,4,3,5,2,1}; stable_sort(0, 5+1); for(int i = 0; i sort(): 평균적으로 약 O(Nlog₂(N))의 요소 비교와 최대 요소 개수만큼의 값 교환(또는 이동)을 수행한다 (N은 first와 last의 거리를 뜻한다). >> stable_sort(): 충분한 메모리가 있다면 약 O(Nlog₂(N)), 충분한 메모리가 보장되지 않는다면 약 O(Nlog₂²(N)) 시간만큼의 요소 비교와 최대 요소 개수만큼의 값 교화을 수행한다. (N은 first와 last의 거리를 ..