728x90

전체 글 274

L value 와 R value

[C++] l-value, r-value : 네이버 블로그 (naver.com) [C++] l-value, r-value C언어에는 lvalue(left value), rvalue(right value) 라는 개념이 존재한다. 이 왼쪽 값, 오른쪽 값이란 ... blog.naver.com lvalue 표현식 이후에도 사라지지 않는 값. 이름을 지니는 변수. rvalue 표현식 이후에는 사라지는 값. 임시 변수. x+y 따위는 실제 변수가 아니라 임시 변수를 생성하여 (레지스터인지 메모리인지)에 저장, 사용한다. 이 값은 일반 변수와 마찬가지로 int 등의 타입을 가지고 있지만 계산이 끝나면 사라지는데 이것이 rvalue 이다. 그리고 명시적으로 선언하여 '이름'을 가지고, 계속 접근할 수 있는 변수가 바..

CS/C++ 2023.12.14

c++ typedef vs using 키워드 차이점

[c++] typedef 와 using의 차이점 (velog.io) [c++] typedef 와 using의 차이점 c++11 부터 사용할 수 있는 using키워드는 typedef 와 동일하게 type의 별칭을 만드는 키워드이다. 얼핏 사용하다 보면 같은 기능을 가진 것으로 보이지만 하나의 큰 차이점이 있다. 바로 template의 별칭 velog.io 공통점: 둘 다 type의 별칭을 만드는 키워드임 차이점: template의 별칭을 지정할 수 있느냐 없느냐의 차이임

CS/C++ 2023.12.14

C++ template 장단점

[C++] template(템플릿) 에 관하여 1 (템플릿이란, 함수 템플릿) (tistory.com) [C++] template(템플릿) 에 관하여 1 (템플릿이란, 함수 템플릿) 안녕하세요 BlockDMask 입니다.오늘은 C++에서 자료형을 마음대로 가지고 놀 수 있는, template (템플릿) 에 대해 알아보겠습니다. 1) 템플릿(Template) 이란.함수나 클래스를 개별적으로 다시 작성하지 않 blockdmask.tistory.com 템플릿: 함수나 클래스를 개별적으로 다시 작성하지 않아도 여러 자료형으로 사용할 수 있도록 하게 만들어 놓은 int sum(int a, int b){ return a + b; } double sum(double a, double b){ return a + b; ..

CS/C++ 2023.12.14

c++ 캐스팅

C++ 캐스팅 총정리(스마트포인터 캐스팅 포함) (ence2.github.io) C++ 캐스팅 총정리(스마트포인터 캐스팅 포함) 캐스트는 자료형간 또는 포인터간 형변환시 사용됩니다. 캐스트는 크게 묵시적 캐스트(implicit cast)와 명시적 캐스트(explicit cast) 두 가지로 나눌 수 있습니다. 특별히 캐스트 연산자를 사용하지 ence2.github.io [C++] 캐스팅(Casting) (tistory.com) [C++] 캐스팅(Casting) References Professional C++ https://en.cppreference.com/w/ Contents const_cast() static_cast() reinterpret_cast() dynamic_cast() std::bit_..

CS/C++ 2023.12.14

<algorithm> 헤더의 sort와 list.sort

[c++]리스트 sort 하는 방법 (tistory.com) [c++]리스트 sort 하는 방법 C++ #include #include int main() { std::list lst; lst.push_back(5); lst.push_back(1); std::sort(lst.begin(), lst.end()); return 0; } 당연하다는 듯이 이런 코드를 작성한 적이 있는데 sort 부분에서 에러가 뜬다. 이유는 아래와 blossoming-man.tistory.com #include #include int main() { std::list lst; lst.push_back(5); lst.push_back(1); std::sort(lst.begin(), lst.end()); return 0; } ->..

CS/C++ 2023.12.14

map과 unordered_map 차이

map vs unordered_map (tistory.com) map vs unordered_map vs map unordered_map 정렬 오름차순 자동 정렬 정렬 안함 중복허용 비허용 비허용 기반 레드블랙트리 hash table 기반 hash container 메모리 보다 적게든다 데이터가 N개일 때 탐색속도 O(logN) O(1) 문자열 길 mseagle.tistory.com map unordered_map 정렬 오름차순 자동정렬 정렬 안함 중복허용 비허용 비허용 기반 레드블랙트리 hash table 기반 hash container 메모리 보다 적게 든다 데이터가 N개일 때 탐색 속도 O(logN) -> 더 찾는데 오래걸림(트리) O(1) 문자열 길이가 길고 데이터가 크지 않을 때 보다 유리하다 ..

CS/C++ 2023.12.13

상등성과 동등성 차이

상등성과 동등성의 비교 : 네이버 블로그 (naver.com) 상등성과 동등성의 비교 STL을 이용한 프로그래밍에서 상등성과 동등성의 차이를 모르고 있으면 안될 것 같아 정리해 둔다. &nbs... blog.naver.com 상등성 string str1("Oraverny"); string str2("oraverny"); return (str1 == str2); =>false 가 return됨 상등성: 실제로 둘을 대소비교, 대조하여 완전히 그 값이 같아야 같은 것으로 보는 개념 ( ==에뿌리를 두고있음) 동등성 set s; s.insert(str1); s.insert(str2); set은 연관 컨테이너로서 키값의 중복을 허용하지 않음 이럴 때 !(str1 < str2) && !(str2 < str1) 라..

CS/C++ 2023.12.13

오버로딩과 오버라이딩의 차이

[Java]class: 오버라이딩(overriding)과 오버로딩(overloading) (velog.io) [Java]class: 오버라이딩(overriding)과 오버로딩(overloading) TIL이나 알고리즘 문제 풀이 정도 업로드 하였지만 공부하면서 기록하는게 리마인드도 되고 좋을 것 같다는 생각이 들어 오늘부터 시작한다.전문적인 기술 블로그가 아닌 개인적으로 공부하며 velog.io 공통점 클래스의 인스턴스 멤버인 메소드를 재정의 또는 확장하는 개념 차이점 * 오버라이딩: 부모클래스의 상속을 받은 자식클래스에서 확장하는 개념 * 오버로딩: 하나의 클래스 내부에서 확장하는 개념 1. 오버라이딩 [조건] 메소드의 이름이 일치해야 함 메소드 매개변수의 개수, 순서 그리고 데이터 타입 일치해야 함 ..

CS/C++ 2023.12.13

malloc/free와 new/delete의 차이

malloc과 new의 차이 (tistory.com) malloc과 new의 차이 C++에서는 메모리 동적 할당을 위해 malloc과 new 둘 다 쓸 수 있습니다. 둘의 차이점에 대해 알아봤습니다. 1. malloc은 라이브러리 제공 함수로, stdlib.h 을 include 해주어야 사용 가능하지만, new는 기본 jhtop93.tistory.com C++에서는 메모리 동적할당을 위해 malloc , new 둘 다 쓸 수 있음 1. malloc은 라이브러리 제공 함수로, stdlib.h 을 include 해주어야 사용 가능하지만, new는 기본으로 제공하는 키워드이므로 별도의 라이브러리 추가 없이 바로 사용 가능 2. malloc은 사이즈를 매개변수로 받고, 리턴타입이 void*형이므로 sizeof(..

CS/C++ 2023.12.13
728x90