전체 글162 구조적 바인딩 c++ C++17에서 도입된 구조적 바인딩(structured binding)은 여러 값을 간단하고 직관적인 문법으로 한 번에 변수로 분해할 수 있게 해주는 기능입니다. 이는 튜플, 구조체, 배열 등의 복합 데이터 타입을 더 쉽게 다룰 수 있도록 도와줍니다.js에서만 구조적 바인딩 같은 문법이 존재한다고 생각했는데, 그냥 제 공부가 부족한 것 이었습니다.구조적 바인딩의 기본 개념구조적 바인딩을 사용하면 auto를 이용해 여러 개의 변수를 동시에 선언하고 초기화할 수 있습니다. 일반적으로는 복합 데이터 구조에서 개별 요소에 접근할 때 일일이 인덱스나 멤버 이름을 지정해야 했지만, 구조적 바인딩을 통해 각 요소를 한꺼번에 각각의 이름으로 할당할 수 있습니다.구조적 바인딩의 문법구조적 바인딩을 사용하려면 다음과 같은.. 2024. 10. 14. 파라미터 참조형 vs 포인터 문득, 파라미터를 참조형으로 보내는 코드와 포인터로 사용할 때 크게 구분하지 않고 사용했었다가 유지보수와 협업 측면에서 조금 더 생각하며 코딩을 하기로 결심했습니다.1. 참조형을 사용하는 경우 (&)참조형은 객체가 절대로 nullptr이 될 수 없을 때 사용합니다. 참조형은 간편하고 안전하며, 함수 내에서 해당 객체를 수정할 필요가 있는 경우 많이 사용됩니다.사용할 때:객체가 반드시 유효하고 nullptr일 가능성이 없는 경우.함수 내부에서 객체를 수정할 가능성이 있을 때.함수에서 호출 코드가 객체를 직접 소유하거나 관리하지 않음을 보장할 때.객체의 주소를 다시 할당할 필요가 없는 경우.void updateValue(MyClass &obj) { obj.value = 10; // 객체 내용을 변경할.. 2024. 10. 14. 참조형 & 포인터보다 안전하다. 왜냐하면 메모리 주소를 직접 다루지 않기 때문에 nullptr가 될 수 없다.코드의 스타일이 더 좋아진다. 스택변수와 문법이 같아서 *이나 &같은 심볼을 사용하지 않아도 된다.메모리의 오너십이 어디에 있는지 명확히 해준다.c++에서 레퍼런스(참조) 란 일종의 변수에 대한 앨리아스(별칭)이다. 레퍼런스를 이용해서 수정한 내용은 그 레퍼런스가 가리키는 변수의 값에 그대로 반영된다.레퍼런스는 변수의 주소를 가져오거나 변수에 대한 역참조 연산을 수행하는 작업을 자동으로 처리해주는 특수한 포인터라고 볼 수 있다.레퍼런스 변수레퍼런스 변수는 반드시 생성하자마자 초기화해주어야한다.int x = 3;int& xRef = x;x변수에 대한 대입문 바로 뒤에 나온 xRef는 x에 대한 또 다른 이름이.. 2024. 10. 7. c++ 구조적 바인딩 C++17에서 도입된 구조적 바인딩(structured binding)은 여러 값을 간단하고 직관적인 문법으로 한 번에 변수로 분해할 수 있게 해주는 기능입니다. 이는 튜플, 구조체, 배열 등의 복합 데이터 타입을 더 쉽게 다룰 수 있도록 도와줍니다.구조적 바인딩의 기본 개념구조적 바인딩을 사용하면 auto를 이용해 여러 개의 변수를 동시에 선언하고 초기화할 수 있습니다. 일반적으로는 복합 데이터 구조에서 개별 요소에 접근할 때 일일이 인덱스나 멤버 이름을 지정해야 했지만, 구조적 바인딩을 통해 각 요소를 한꺼번에 각각의 이름으로 할당할 수 있습니다.구조적 바인딩의 문법구조적 바인딩을 사용하려면 다음과 같은 문법을 사용합니다:auto [var1, var2, ..., varN] = expression;여기.. 2024. 10. 7. 이전 1 2 3 4 ··· 41 다음