C, C++ 19

[따배씨++] 기본 자료형 소개

1바이트 = 8비트 다양한 자료형(char, int 등..)이 있으며 메모리 사이즈가 다 다르다. - signed처럼 기울인 글씨체로 적용된 부분은 생략해서 써도 된다. >> short, unsigned short, unsigned 등.. - 부동소수점을 표현하는 타입은 float, double가 있다. float은 int와 같은 메모리 사이즈(4바이트, 16비트)를 사용한다. double은 8바이트(32비트)이며 더 정밀하게 수를 표현할 수 있다. auto 타입은 컴파일러가 자료형을 결정해준다. 변수 초기화 방법은 세 가지가 있다. 1) int a =123; // copy initialization 2) int a(123); // direct initialization 3) int a{123}; // ..

C, C++/공부정리 2023.03.19

참조와 포인터

참조 - 참조 변수는 어떤 변수의 별칭이라고 생각하면 된다. 예를 들어 Sonny를 Songqiao라고도 부르고 싶다면.. 참조 연산자 &를 이용해 위와 같이 만들 수 있다. - 참조에 대해 주의해야 할 사항 1) 참조에 대해 수행하는 모든 작업은 원본에서도 발생한다. 2) 별칭은 다른 별칭으로 변경할 수 없다. 참조에 의한 전달 - 매개변수를 함수에 전달할 때 값에 의한 전달이라고 한다. 매개변수와 인수는 별개의 변수가 되며, 어느 한 쪽을 변경해도 다른 쪽이 영향을 받지 않는다. 값에 의한 전달로 정의된 함수 내부에서는 함수 외부에 선언된 변수에 접근이 불가능하다. - 참조에 의한 전달을 참조를 사용해 함수에 매개변수를 전달하는 것이다. 이는 같은 메모리 주소를 통해 접근하는 것으로 원본과 사본이 공..

C, C++/codecademy 2023.03.16

클래스와 객체

클래스- 클래스의 구성 요소를 클래스 멤버라고 한다. 이는 .(점 연산자)를 사용해 클래스 멤버에 액세스 할 수 있다..length()object.class_member - 멤버 데이터라고 하는 attribute는 클래스의 인스턴스에 대한 정보로 구성된다.- 멤버함수라고 하는 메소드는 클래스의 인스턴스와 함께 사용할 수 있는 함수이다. 일반적으로 (cpp파일과 동일한 이름의 헤더를 만들어 헤더에서 메소드를 선언하고 cpp파일에서 메소드를 정의한다. 클래스 외부에서 메소드를 정의할 때 메소드 앞에 '클래스이름::메소드이름'의 형식을 이용해 클래스를 나타낸다. 예제) 클래스, 객체 사용법 electric_relaxation이라는 객체(인스턴스)를 생성했다. 클래스가 선언된 헤더파일의 모습이다. ..

C, C++/codecademy 2023.03.01

함수 - 범위 및 유연성 (지역/전역범위, 인라인 함수, 오버로드, 템플릿)

전역범위와 지역범위- 전역범위: 전역범위에서 정의된 변수는 프로그램 어디서나 액세스 할 수 있다.- 지역범위: 함수에서 정의된 변수는 함수 내에서만 액세스 할 수 있다. #include void enter_code(int passcode) { if (passcode == 0310) { std::string secret_knowledge = "https://content.codecademy.com/courses/regex/onyourexcitingjourneylearningtocodeyouwillfindthis.gif"; std::cout passcode가 맞았을 때만 secret_knowledge가 출력될 수 있도록 지역범위로 secret_knowledge를 함수 안에..

C, C++/codecademy 2023.03.01

함수

C++에는 이미 표준 라이브러리의 일부로 생성된 함수들이 많다.예를 들어 , 헤더를 추가해 이용할 수 있다. #include #include int main() { // This seeds the random number generator: srand (time(NULL)); // Use rand() below to initialize int the_amazing_random_number = rand()%29; std::cout 추가를 통해 rand함수 이용했다.0~28의 랜덤한 수를 출력하는 코드이다. 선언과 정의- 선언: 함수의 이름, 반환 형식, 매개변수(함수의 인수이며 이를 입력 값으로 이용하는 경우 매개변수를 사용한다) return문은 함수 실행에서 마..

C, C++/codecademy 2023.02.26

vector

vector를 사용하기 위해 #include 를 추가해주어야 한다. vector 선언은 std::vector name; ex) std::vector day; 특정 값으로 만들고 초기화 할수도 있다. std::vector location = {42.63, -73.52}; #include #include int main() { std::vector subway_adult = {800, 1200, 1500}; // Give subway_child some values: std::vector subway_child = {400, 600, 750}; } index 이용해 접근하기 추가 및 제거- push_back() 을 이용한 추가: 벡터의 맨 뒤 요소에 추가할 때 이용한..

C, C++/codecademy 2023.02.21

에러

1. 컴파일 타임 에러: 컴파일러에서 오류 발견- Syntax error(구문 에러): c++ 구문 규칙 위반 시 발생하는 에러 ex) 세미클론(;) 빠뜨림, )}] 괄호 안 맞음- Type error(타입 에러): 선언한 형식 간 불일치가 있을 때 발생하는 에러 ex) 변수 선언 빠뜨림, 잘못된 타입의 값 저장 2. 링크 타임 에러: 개체 파일을 실행 프로그램으로 결합하려 할 때 발생한 에러- 컴파일은 되지만 프로그램에서 찾을 수 없는 함수나 라이브러리로 인해 발생하는 에러 ex) 정의되지 않은 함수의 사용, main()이 Main()으로 있는 등 함수명이 맞지 않을 때 3. 런타임 에러: 실행 중인 프로그램을 검사하다가 에러 발견- 컴파일 타임 에러, 링크 타임 에러가 없으면 실행됨, 컴파..

C, C++/codecademy 2023.02.21