본문 바로가기
728x90
728x90
SMALL

C │ C++ │ C#/C++42

C++ Chapter 1.5 : 네임스페이스, 전처리기 네임스페이스 함수와 변수들에 이름을 붙여줄 수 있다. 네임 스페이스를 사용하는 이유 ο 같은 이름의 함수나 변수더라도 구별할 수 있게 된다. ex) ο Myspqce 네임스페이스 공간 안에 있는 doSomething 함수 ■ 호출시 Myspace::doSomething((3, 4)); ο 네임스페이스 안붙은 공간 안에 있는 doSomething 함수 ■ 호출시 doSomething((3, 4)); ο 두 함수는 이름과 매개변수 타입, 리턴 타입까지 같지만 별개의 다른 함수다. ■ 네임스페이스가 다르기 때문 ! namespace Myspace { int doSomething((int a, int b)) { return a + b; } } int doSomething(int a, int b) { return.. 2023. 8. 12.
C++ Chapter 1.4 : 컴파일, 헤더 파일 만들기, 헤더 가드가 필요한 이유 컴파일 과정 컴파일의 역할 ο 문법 체크 + static 한 영역들 메모리 할당 일을 수행한다. ■ 프로그램이 실행되기 전에 미리 메모리에 할당되어 있어야 하는 부분들. 런타임 때 메모리가 결정되는 부분들 말고! 헤더 파일은 컴파일 되지 않는다. ο 헤더 파일은 include 한 cpp 파일 내에 전체 복사될 뿐이다. cpp 파일들은 각각 독립적으로 컴파일 된다. 그 다음에 컴파일이 완료된 cpp 파일들을 링킹 한다. 헤더 파일 만들기 한 코드 파일에 모든 내용을 다 넣는건 좋지 않다. ο #include "add.h" 해주면 ■ add.h 헤더파일에 정의해 놓은 함수와 변수들을 마음대로 사용 가능하다. ■ add.h 헤더파일은 프로젝트와 동일한 위치에 있어야 한다. ■ 다른 위치라면 #include “.. 2023. 8. 12.
C++ Chapter 1.3 : 연산자, 기본적인 서식 맞추기, 선언과 정의의 분리 리터럴과 연산자 리터럴 ο int x = 2 ■ x는 변수 ■ 2는 리터럴 ο “My name” ■ 이런 문자열도 리터럴 연산자 ο a + b ■ a,b는 피연산자 ■ +는 연산자 ο 단항 : 피연산자 1개 ο 이항 : 피연산자 2개 ο 삼항 : 피연산자 3개 ■ ((조건문)) : 참 : 거짓 기본적인 서식 맞추기 컴퓨터는 빈칸을 무시한다. 선언과 정의의 분리 컴퓨터는 순서대로 앞부터 읽어서 ο main안에서 쓰이는 함수의 정의가 main 뒤에 있으면 ■ 컴퓨터 입장에선 모른다. int main() { f(); // 정의가 뒤에 있어서 main 입장에선 이 함수가 어떤 함수인지 모름 } void f() { std::cout 2023. 8. 11.
C++ Chapter 1.2 : 키워드 식별자 이름 짓기, 지역 범위 키워드와 식별자 이름 짓기 변수명, 함수명 짓기 숫자로 시작 안된다. ex) 1ab 안됨 특수문자로 시작 안된다. ex) *ab 안됨 ο 단, 언더바 _ 로 시작하는것은 가능 ex) _num 가능 예약어로 변수명 짓는거 안된다. ex) if 나 true 같은 예약어로 지으면 안됨 빈칸 안된다. ο num_of_apples, numOfApples 이런식으로 하기 회사마다 변수명 함수명 짓는 스타일이 다르다. 지역 범위 { } 중괄호 범위내에서 정의, 선언된 변수는 중괄호 범위를 벗어나면 메모리에서 사라진다. 같은 지역 범위 내에서 이미 있는 같은 이름 변수 선언하는것은 허용되지 않는다. ο 가능 { int x = 1; } { // 여기서 기존 int x = 1은 사라진 상태 int x = 2; } ο 불가.. 2023. 8. 11.
C++ Chapter 1.1 : 변수, 입출력스트림, 함수 변수와의 첫 만남 객체 : 실존하는 것 → 메모리 공간을 차지하고 있는 것. 변수 : 객체를 담는 공간, 객체를 가리킴. 문자로 된 주소라고 생각하면 된다. ο int x = 10 ■ x라는 변수 이름이 가리키고 있는 메모리 공간에 123 ((숫자 객체))값을 넣는다. L-value : 주소를 갖고 있는 어떤 공간 R-value : 공간에 넣을 어떤 값 !! 변수는 항상 초기화 하는 습관을 들이자 ! ο int x → 초기화 되기 전 -> 쓰레기 값이 들어가 있음. ο 초기화 : 변수가 가리키는 공간을 할당 받자마자 값을 그 공간에 저장 ■ Release 모드 에서는 int x; 처럼 초기화를 안하면 0으로 초기화 해준다. 주의하기! ■ 0으로 초기화 되는게 개발자 의도가 아니였다면 큰일 날 수도 있다... 2023. 8. 10.
C++ Chapter 0 : 시작해봅시다. 0.0 C++ 꼭 공부해야 할까? 공부 방법 예제를 많이 베끼며 연습해라 ο 좋은 예술가는 베낀다 ο 위대한 예술가는 훔친다 올바른 타이핑 방법을 연습한다. 간단한 개념을 이해한다. 예제를 따라해본다. 문제가 생기면 해결한다. 예제를 내 맘대로 바꿔본다. 0.1 프로그래밍 언어란 종류 C, C++, Java ο 코드 → 컴파일러 (기계어로변환) → 실행파일 → CPU,메모리로 실행결과 내기 Python, JavaScript ο 코드 → 인터프리터 → CPU,메모리로 실행결과 내기 ο 인터프리터를 사용함으로써 실행 파일 안만들고 바로 바로 한줄마다 CPU로 돌림 ο 대신 컴파일러 쓰는 언어에 비해 느리다. 이식성 Portability 이식성이 없는 언어라면 ο 플랫폼마다 컴파일러가 추가적으로 더 필요하다 .. 2023. 8. 10.
728x90
728x90
LIST