Q.이동
Q. 이동 의미론? 복사가 아닌 소유권을 이전하는 방식 Q. 이동 생성자? Q. 그럼 이동만 사용하는게 효율적인 것 아닌가? Q. 이동이 효율적이지 않은 경우? Q. move? Q. move와 forward의 차이점은 무엇이고, STL과 함께 사용할 때 각각 어떤 역할을 하는가? Q. 퍼펙트 포워딩? Q. C++ 11에서 이동이란 개념이 ...
Q. 이동 의미론? 복사가 아닌 소유권을 이전하는 방식 Q. 이동 생성자? Q. 그럼 이동만 사용하는게 효율적인 것 아닌가? Q. 이동이 효율적이지 않은 경우? Q. move? Q. move와 forward의 차이점은 무엇이고, STL과 함께 사용할 때 각각 어떤 역할을 하는가? Q. 퍼펙트 포워딩? Q. C++ 11에서 이동이란 개념이 ...
Q. 람다식? Q. 람다식을 STL 알고리즘과 함께 사용할 때 어떤 이점이 있는가?
Q. 초기화 리스트의 순서는? Q. 멤버 이니셜라이저(initializer list)는 언제 사용하나요?
Q. 함수 객체는 무엇인가? Q. 함수 포인터?
Q. 템플릿? 답변 보기 자료형이나 값을 일반화하여 코드 재사용성을 높이기 위한 기능입니다. 컴파일 시점에 실제 타입이 결정되며, 같은 로직을 여러 타입에 대해 안전하게 사용할 수 있도록 합니다. 템플릿의 장점은 1. 타입 안정성을 유지하면서 2. 중복 코드를 제거하고 3. 컴파일 타임 다형성을 제공한다...
Q. 인라인 함수와 매크로 함수의 차이? A. 인라인 함수는 함수의 모든 코드를 함수 본문에 삽입하는 방식이며, 매크로 함수는 전처리기에서 치환하는 방식입니다. 인라인 함수는 컴파일 타임에 삽입되고, 매크로 함수는 전처리기에서 치환됩니다. 인라인 함수는 자료형이 지정되어 있어 의존적이지만 디버깅이 가능하다는 장점이 있습니다. inline / #de...
Q. memcpy와 memmove 차이? A. memcpy는 메모리의 내용을 직접 복사하고, memmove는 복사할 메모리의 내용을 임시 공간에 저장한 후에 복사합니다. 즉, memcpy의 속도가 더 빠른 반면, mommove는 상대적으로 안전합니다.
Q. 스마트 포인터란? A. 유니크 포인터, 쉐어드 포인터, 위크 포인터가 있습니다. Q. 순환 참조 해결 방법? (shared_ptr) Q. 프로젝트에 레퍼런스 카운터 기능이 있던데, 왜 스마트 포인터 사용 안하고 직접 만드셨나요?
Q. 포인터와 레퍼런스 설명 A. 포인터는 주소를 가질 수 있는 변수, 레퍼런스는 다른 객체 또는 값의 별칭이라고 할 수 있습니다. 포인터는 null값을 가질 수 있지만, 레퍼런스는 가질 수 없습니다. Q. int나 float같은 기본 자료형은 매개변수로 레퍼런스를 던지지 않고, 일반 기본 타입으로 던진다. 왜일까? Q. 그러면 클래스 안에 멤버변...
Q. 동적할당? Q. 왜 동적 메모리 할당을 할 필요가 있을까요? Q. 동적 할당한 배열의 크기를 런타임 중에 변경할 수 있나요? 가능하다면 어떻게? Q. 정적 메모리 할당과 동적 메모리 할당의 차이는? Q. new와 malloc의 차이점? Q. malloc()과 calloc()의 차이점? Q. realloc()함수의 역할과 주의할 점? ...