본문 바로가기

전체 글

(49)
vector array를 for_each가 아닌 for문으로 element 확인 지금까지 vector 의 element를 확인하기 위해 익숙한 python의 //python def main(): array_int = [1,2,3,4,5] for i in array_int: print(f'{i}') 를 C++에서 사용하기 위해 //C++ void main() { vector array_int = {1,2,3,4,5}; for_each(array_int.begin(), array_int.end(), [&](int i){ cout
[C++] this, 생성자, 소멸자 this 멤버함수 호출 객체의 주소 값을 가진 포인터 변수 모든 멤버함수의 0번째 매개변수 using namespace std; class Test_class { private: int test_value1_int; int test_value2_int; // 멤버변수 stack 영역에 저장됨 public: void set_value_method(int refer_a = 0, int refer_b = 0) { // void set_test_value_method(Test_class *this, int refer_a, int refer_b ) { test_value1_int = refer_a; this->test_value2_int = refer_b; // 매개변수가 존재하는 멤버함수 내 this 사용 //..
[C++] 클래스(Class), 객체 지향 프로그램(Object Oriented Programming) 클래스 특징 캠슐화(Encapsulation) 관련있는 데이터와 함수를 하나로 묶음 정보 은닉(Hiding Information) 외부함수에 노출되지 않음 안정적 구현 상속성(Inheritance) 자료형을 상속 또는 상속받음 다형성(Polymorphism) 다양한 형태의 성질, 기능 객체 대상이 될 수 있는 모든 것 객체 지향 프로그래밍(also known as OOP)에서 데이터를 포함하는 개별적인 개체(entity)로서 취급되는 변수 클래스를 이용하여 정의된 변수 객체 지향 프로그래밍 객체 위주로 프로그램 작성 클래스는 프로그램을 블록으로 묶은 것이며(Encapsulation), 클래스 변수는 객체(Object)이므로 클래스를 사용한 프로그래밍 using namespace std; class Tes..
[C++] 문자열 컴퓨터는 모든 데이터를 1개씩 처리 문자열은 메모리에 첫 문자 주소를 나타내는 주소상수 1. 문자(Char) 초기화 외에는 strcpy() unsafe 함수를 이용 ex) strcpy(a,"TEST"); unsafe 때문에 strncpy_s(a, size, "TEST", 100);~ ~를 사용했음 아래 배열에서 사용하는 방법과 크게 다르지 않아 코드 생략 2. 배열(Array) 크기가 고정되어 변화가 되지 않음 void main() { int size; cout > size; char* arr = new char[size]; /* * 작성일자 : 23.12.19 * 이슈사항 : char a[size]; 의 경우 size가 상수가 아니므로 선언되지 않음 * 해결방안 : 아직 vecter를 배우지 않았으므로..
[C++] 동적할당 포인트 변수 선언 int *p; p = (int*) malloc([size_int]); // cstyle p = new [data_type] // cppstyle // 동적할당, 할당된 변수의 주소를 리턴 해제 free([var]); // cstyle delete [var] // cppstyle // 동적할당 해제 배열 선언 variable = new data_type[size]; ex ) p = new int[3]; 해제 delete []p; auto arrayIntTest = []() { /* * 작성일자 : 23.12.18 * 이슈사항 : inner function 을 표현하려함, 그러나 아직 사용법을 정확히 모름 * 사용방법 : auto function_name = []() { } 을 사용 * 참..
[C++] 래퍼런스(Reference) 변수, 포인터(Pointer) 변수 래퍼런스 변수(&) 정의 변수에 또 다른 이름 부여 매개변수를 호출한 함수에서 값을 바꾸는 기능 일반 변수 형태에서만 사용 배열 사용 불가 특징 선언 시, &연산자 사용 선언과 동시에 초기화 상수로 초기화 불가 함수 매개변수로 주로 사용 사용방법 data_type& variable(value); or data_type &variable = value; #include #include #include using namespace std; void test1(int variable) { variable = 100; cout
[C++] bool 자료형 bool 자료형 1byte 0 or 1 0 이 아닌 모든 정수를 1로 저장 false(0), true(1)로 사용됨 #include #include #include using namespace std; bool isBiggerBthanA(int a, int b) { if (a < b) return true; else return false; } void main() { cout
[C++] 오버로딩, 디폴트 매개변수, 초기화 함수의 오버로딩(function overloading) 매개 변수가 자료형과 갯수가 다를 시, 동일 함수명 사용 가능 동일 기능 함수, 매개변수 자료형에 따라 상관없이 사용하고자 이용 C언어 함수 이름 호출 매개변수 자료형 다를 시 동일 이름 함수 정의 불가 C++ 함수 이름, 매개변수 정보까지 참조 매개변수 자료형 또는 갯수가 다를 시, 오버로딩 가능 #include #include #include using namespace std; namespace test { int plus(int a, int b) { return a + b; } // 매개변수 자료형이 다른경우. double plus(int a, double b) { /* * return이 int로 해놓고 왜 12가 출력되나 엄청 고민했다. *..