728x90

LANG 47

[C++] 01-5.이름공간(namespace)에 대한 소개

이름공간 : 이름을 붙여놓은 공간. 201호에 사는 철수와 202호에 사는 철수를 구분한 것. 필요성: 같은 company에서 각자 코드를 짰을 때 함수명이 겹칠 경우 등에서 필요 (C언어였다면? 각자 회사에서 코드 짜는거 다 이름 조금씩 다르게 해서 맡았어야 함;; => C++은 정말 진화한 언어다!) 결과: 각자의 함수 이름이 같아도 namespace가 다르므로 오류가 생기지 않음! 연산자 :: : 범위지정 연산자(scope resolution operator), 이름 공간을 지정할 때 사용하는 연산자. 1.이름공간 기반의 함수 선언과 정의의 구분 동일한 이름공간에 정의된 함수를 호출할 때에는 이름공간을 명시할 필요가 없음. 아래가 그 예 2.이름공간의 중첩 이름공간은 다른 이름공간 안에 삽입될 수 ..

LANG/C++ 2023.05.11

[C++]01-3.매개변수의 디폴트 값

디폴트 값: 기본적으로 설정되어있는 값 int MyFuncOne(int num = 7) { return num + 1; } 함수 호출 시 인자를 전달하지 않으면 7이 전달된 것으로 간주하겠다. MyFuncOne() == MyFuncOne(7) int MyFuncTwo(int num1 = 5, int num2 = 7) { return num1 + num2; } 함수 호출 시 인자를 전달하지 않으면 num1 = 5, num2 = 7이 전달된 것으로 간주하겠다. 위 코드로 알 수 있는 것: "매개변수에 디폴트 값이 설정되어 있으면, 선언된 매개변수의 수보다 적은 수의 인자전달이 가능하다. 그리고 전달되는 인자는 왼쪽에서부터 채워져 나가고, 부족분은 디폴트 값으로 채워진다." 1.디폴트 값은 함수의 선언 부분에..

LANG/C++ 2023.05.11

[C++] 01-2. 함수 오버로딩(Function Overloading)

함수 오버로딩: 함수명이 같고 매개변수의 선언만 다를 경우 함수명이 같은 것을 허용함 int MyFunc(int num) { num++; return num; } int MyFunc(int a, int b) { return a + b; } int main(void) { MyFunc(20); MyFunc(30, 40); return 0; } => 가능 C++에서는 함수 호출 시 전달되는 인자를 통해서 호출하고자 하는 함수의 구분 가능 C에서 안되는 이유: "MyFunc어딨어 ~!!!!! MyFunc 낸하!(찡찡)" C++에서 되는 이유: "두 개의 int형 정수를 인자로 전달받을 수 있는 MyFunc라는 이름의 함수를 찾아야겠군" 오버로딩 되는 조건 매개변수의 자료형, 매개변수의 개수가 다르면 가능 int..

LANG/C++ 2023.05.09

파일 디스크립터 공부

0 입력스트림 1 출력스트림 2 오류메시지 출력 스트림 스트림 :개울을 의미 키보드, 마우스같은 출발지에서 프로그램이라는 도착지로 가는 길은 “입력스트림” 프로그램이라는 출발지에서 모니터,프린터와 같은 도착지로 가는 길은 “출력스트림” 따라서 open 으로. hello.txt 를 열었다고 했을 때 이때의 파일 디스크립터 값은 2보다 큰 3부터 시작하는 것이 보통임. 여러 파일이 왔으면 순서대로 3,4,,5… 이런 식으로 번호가 부여됨. 예제 int fd; int fd2; int n; char buf[4]; fd = open("hello.txt",O_RDONLY); fd2 = open("hi.txt",O_RDONLY); if (fd

LANG/C 2021.06.13

연결리스트 공부

Typedef struct s_list { void *content; struct s_list *next; // 이렇게 구조체 내에 똑같은 구조체 형식으로 다음 구조체를 가리키면 연결리스트라고 부름. } t_list; Typedef : 구조체의 별칭을 만들어주겠다. struct:구조체를 만들 것이다. 예제 1 Struct Person{ char name[20]; int age; char address[100]; } Int main() { struct Person p1; strcpy(p1.name, “홍길동”); p1.age = 30; strcpy(p1.address, “서울시 용산구 한남동”); printf(“이름 : %s \n”, p1.name); … } 요론 식으로. 예제2 Typedef struct..

LANG/C 2021.06.13
728x90