전체 글258 디폴트 파라미터, 함수포인터 디폴트 파라미터 예시 #include using namespace std; class Foo { public: string nName; public: Foo(string s="NONE"){ nName=s; } void SetName(string name="Jon") { nName = std::move(name); } }; int main() { cout 2024. 1. 22. std::move() string b = std::move(a); a에 Lval가 오는 경우와 Rval 가 오는 경우 -- std::move 함수는 인자로 받은 객체를 rvalue reference로 캐스팅하는 유틸리티 함수입니다. 이 함수는 객체의 데이터를 실제로 이동시키지 않으며, 단지 해당 객체를 이동할 수 있는 상태로 만듭니다. 그렇게 함으로써 이동 생성자(move constructor)나 이동 할당 연산자(move assignment operator)가 호출될 수 있게 합니다. 이러한 이동 연산자들은 객체의 내부 리소스(예: 동적 할당된 메모리)의 소유권을 효율적으로 새 객체로 이전하는 데 사용됩니다. std::move가 호출될 때 인자로 Lvalue가 오는 경우와 Rvalue가 오는 경우에 대해 설명하겠습니다: L.. 2024. 1. 22. 인수 전달 인수 전달 방식 1. 값에 의한 인수 전달 2. 주소(포인터)에 의한 인수 전달 3. 참조에 의한 인수 전달 - Lval 참조 - Rval 참조 ( C+11 인가 부터 가능 ) - 포인터에 대한 참조 - 배열에 대한 참조 1. 값에 의한 인수 전달 func(a) 하면 되는 작용들 - int x = a; ( a의 값을 복사해서 넣는다 ) - a의 값을 복사해서 넣는다 ( 따라서 func 내부에서 x 의 값이 바뀐다고 a의 값이 바뀌지 않는다.) - call by value // 메모리 비공유 void func(int x) { x = 20; } int main() { int a = 0; func(a); cout 2024. 1. 16. vector std::vector의 주요 특징: 동적으로 크기가 조절됩니다. 연속된 메모리를 할당하여 요소에 빠르게 접근할 수 있습니다. 요소를 추가하거나 제거할 때 자동으로 메모리를 할당하거나 해제합니다. 배열과의 차이점이기도함 자주 사용되는 멤버 함수: push_back(value): 벡터의 끝에 새로운 요소를 추가합니다. pop_back(): 벡터의 마지막 요소를 제거합니다. size(): 벡터에 저장된 요소의 수를 반환합니다. empty(): 벡터가 비어 있는지 확인합니다. clear(): 벡터의 모든 요소를 제거합니다. at(index) 또는 operator[]: 벡터의 특정 인덱스에 있는 요소에 접근합니다. front(): 벡터의 첫 번째 요소를 반환합니다. back(): 벡터의 마지막 요소를 반환합니다... 2024. 1. 16. for-each for-each a = [1,2,3,4,5] python 에서 for _ in a : print(_) 개념처럼 c++에서도 for 문을 쓸 수 있다 예시 #include #include // std::forward를 사용하기 위해 필요함 #include #include using namespace std; typedef typename std::string string; int main() { int fibonacci[] = { 0, 1, 1, 2, 3}; for (auto _ : fibonacci) { cout 2024. 1. 16. enum, 구조체 enum 클래스 사용법 #include #include using namespace std; typedef typename std::string string; enum Color { COLOR_BLACK = 3, COLOR_RED = 4, COLOR_BLUE, COLOR_GREEN, }; std::string colorToString(Color color) { switch (color) { case COLOR_BLACK: return "COLOR_BLACK"; case COLOR_RED: return "COLOR_RED"; case COLOR_BLUE: return "COLOR_BLUE"; case COLOR_GREEN: return "COLOR_GREEN"; default: return "Unknown.. 2024. 1. 16. 이전 1 2 3 4 5 6 7 8 ··· 43 다음