c & c++
-
디버거, 인텔리코드c & c++ 2022. 9. 27. 14:37
💡 기능 ☞ [F9] 중단점 설정/해제 : 브레이크 포인트, 프로그램의 특정 지점까지만 실행시킨다. : 중단점이 설정된 곳에서 프로그램 실행이 멈춘다 : 에러 발생할 만한 부분에 중단점 설정해놓고 이전에 변수에 값 제대로 들어있는지 확인 : F5 실행 -> 중단점 만나는 곳에서 실행 정지 -> F11 눌러가며 이후단계 하나씩 실행 : F5 부르면 다음 중단점까지 실행되면서 이동 ☞ [F11] 한 단계씩 코드 실행 : 프로그램 코드 한 줄씩 실행한다 ☞ [F10] 프로시저 단위 코드 실행 : 단위별로 프로그램 실행 단계를 이동시켜 가면서 프로그램 처리 💡 단축키 - 중단점 삽입/삭제 : F9 - 디버깅 시작 : F5 - 디버깅 중지 : Shift + F5 - 한 단계씩 코드 실행 : F11 - 프로시저 단..
-
[C++] 클래스, 접근 제어자, thisc & c++ 2022. 9. 20. 15:51
💡 객체 지향 프로그래밍 OOP : 모든 데이터를 객체(object) 취급 : 객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍 1. 추상화 2. 캡슐화 3. 정보 은닉 4. 상속성 5. 다형성 💡 인스턴스 instance : 선언된 해당 클래스 타입의 객체 == 메모리에 대입된 객체 : 하나의 클래스 -> 여러 개의 인스턴스 생성 : 독립된 메모리 공간에 저장된 자신만의 멤버변수 가짐, 멤버 함수는 모든 인스턴스가 공유 : 새로운 개채를 의미 ❗ 새로운 개채를 만드는 작업 => 인스턴스화 💡 클래스 class : 클래스를 사용하기 위해서는 우선 해당 클래스 타입의 객체를 선언해야한다. class Man { private: // 접근 제어 지시자, 생략가능 int age;/..
-
[C++] 함수, 참조자, 디폴트 인수, 함수 오버로딩, 함수 오버라이딩, 인라인 함수c & c++ 2022. 9. 20. 15:19
💡 함수 포인터 : 함수의 이름 == 메모리에 올라간 함수의 시작 주소를 가리키는 포인터 상수 void (*ptr_func)(int, int); : 함수를 또 다른 함수의 인수로 전달할때 유용 💡 참조자 reference : 크기가 큰 구조체와 같은 데이터를 함수의 인수로 전달할 때 사용 : 참조자를 이용해 연산을 수행 -> 참조 변수 뿐만 아니라 대상 변수도 변경 int x = 10; // 변수의 선언 int& y = x; // 참조자 선언 cout
-
[C++] 구조체, 공용체, 열거체c & c++ 2022. 9. 20. 13:39
❗ 구조체를 인수로 전달 : 함수가 원본 구조체의 복사본을 가지고 작업하므로 안전 ❗ 구조체의 주소를 인수로 전달 : 원본 구조체에 직접 접근 하므로 원본 데이터 측면에서는 위험 => const 사용 struct Prop { int savings; int loan; }; int CalcProperty(int, int); // int CalcProperty(Prop*)// 구조체의 주소받음 int main(void) { int hong_prop; Prop hong = {10000, 4000};// 구조체 초기화 hong_prop = CalcProperty(hong.savings, hong.loan); // 구조체의 멤버 변수를 함수의 인수로 전달함 // hong_prop = CalcProperty(&hon..
-
[C++] C++이란? string 클래스c & c++ 2022. 9. 19. 02:15
💡 C++ 1. 절차 지향적이며 구조적 프로그래밍 언어 2. 객체 지향 프로그래밍 언어 3. 일반화 프로그래밍 언어 💡 네임스페이스 namespace : 소속된 공간 ex) using namespace std; // std라는 네임스페이스에 속한 정의들은 std::를 붙이지 않아도 사용할 수 있음 💡 표준 입출력 : #include ☞ cout : 출력 std::cout > 저장할 변수; 💡 포인트 리터럴 상수 : nullptr : nullptr == 0 => true 💡 범위 지정 연산자(::) 1. ::식별자 2. 클래스이름::식별자 3. 네임스페이스::식별자 4. 열거체::식별자 💡 멤버 포인터 연산자 : 멤버 포인터 연산자를 이용해 클래스의 멤버를 가리키는 포인터 정의. 1. 클래스타입의객체.*멤..
-
[C] 기호 상수c & c++ 2022. 9. 18. 18:44
💡 기호 상수 : 3과 2 처럼 이름이 없는 상수 == 리터럴 상수 이름이 있는 상수 == 기호 상수 ex) int x = 2; // 2는 리터럴 상수 const int x = 2; // x는 2라는 값을 가진 상수, 상징이 될 수 있는 이름 x를 가졌으므로 x는 기호 상수가 된다. 💡 기호 상수 사용법 ☞ #define 매크로 사용 -> #define PI 3.14\ : 선행 처리 과정에서 코드 자체를 수정하여 컴파일 하는것 == 메모리 사용X ☞ const 변수 사용 : 값 변경 불가. : 선언과 동시에 초기화 : 읽기 전용 변수 == 메모리를 사용한다. ☞ enum 열거형 변수 사용 : 서로 연관된 상수 값들의 집합 : 사용자가 자료형을 직접 정의 : 정수형 상수에 이름을 붙여 코드를 이해하기 쉽게..
-
[C] 구조체, 구조체 배열, 연결 리스트c & c++ 2022. 9. 16. 11:33
💡 구조체 : 다양한 정보를 저장하기 위해 필요에 따라 생성하는 자료형 == 사용자 정의 자료형/구조체 : 다양한 자료형을 그룹화하여 하나의 변수로 처리할 수 있게 만든 자료형 // 구조체 변수 선언 방법 case 1 struct myclass { // 구조체 멤버 변수 int number; double height; double weight; char *name; }; // 구조체 정의 struct myclass a; // 구조체 변수 a 선언 struct myclass b; // 구조체 멤버 변수에 접근 .이용 a.number = 10; b.number = 20; // 구조체 변수 선언 방법 case 2 // case 1과 case 2의 결과는 같음 struct myclass { int number;..
-
[C] 포인터, malloc()c & c++ 2022. 9. 16. 04:13
💡 포인터 : 주소를 저장하는 변수 : 포인터 변수는 자료형에 상관 없이 메모리 크기가 언제나 동일하다. 변수 선언 어떤 변수의 메모리 주소 저장 -> 포인터 변수 선언 ❗ 주소 연산자 & 해당 변수의 주소 => &변수명 * 실제 변수의 주소 104== &변수명 동일하다. ❗ 가리키는 대상 변수를 참조할 수 있다. 즉, 대상 변수에 접근 할 수 있다. => 포인터 변수를 통해 가리키는 변수의 값을 설정 할 수 있다. ❗ 함수와 함수 사이에 값을 주고받을 때 포인터를 사용해 주소 값을 전달하면 변수의 주소가 전달된다. => 주소를 전달받은 함수 안에서 함수를 호출한 곳의 변수 값을 변경할 수 있다. 💡 사용 1. 포인터 변수를 선언하고자 할 때 2. 역참조를 할 때 사용. : 정수형 주소를 저장하는 변수 ..