C++

[C++] front 함수

코딩 메모장 2024. 11. 26. 22:05
728x90

front 함수는 C++ STL(Standard Template Library)의 여러 컨테이너에서 제공하는 멤버 함수로, 컨테이너의 첫 번째 요소에 대한 참조를 반환합니다. 이를 사용하여 첫 번째 요소를 읽거나 수정할 수 있습니다.

 

사용 가능 컨테이너

front 함수는 다음과 같은 STL 컨테이너에서 사용할 수 있습니다:

  • 시퀀스 컨테이너: std::vector, std::deque, std::list
  • 컨테이너 어댑터: std::queue (첫 번째 요소를 반환)

사용 예시

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {10, 20, 30};

    // 첫 번째 요소 출력
    std::cout << "첫 번째 요소: " << vec.front() << std::endl;

    // 첫 번째 요소 수정
    vec.front() = 100;
    std::cout << "수정된 첫 번째 요소: " << vec.front() << std::endl;

    return 0;
}

출력 결과

첫 번째 요소: 10  
수정된 첫 번째 요소: 100

특징

  1. 반환 타입
    • T& front(); (비-상수 컨테이너)
    • const T& front() const; (상수 컨테이너)
      반환된 참조를 통해 첫 번째 요소를 읽거나 수정할 수 있습니다. 상수 컨테이너의 경우 요소를 수정할 수 없습니다.
  2. 컨테이너 비어 있음 체크 필요
    컨테이너가 비어 있는 상태에서 front를 호출하면 정의되지 않은 동작(Undefined Behavior) 이 발생합니다. 이를 방지하려면 호출 전에 empty() 함수를 사용하여 컨테이너가 비어 있지 않은지 확인해야 합니다.
     
if (!vec.empty()) {
    std::cout << vec.front() << std::endl;
} else {
    std::cout << "컨테이너가 비어 있습니다." << std::endl;
}

 

복잡도
front 함수의 호출은 상수 시간(O(1)) 에 이루어집니다.

 

유사 함수

  • back: 컨테이너의 마지막 요소를 참조합니다.
  • at: 컨테이너의 특정 위치의 요소를 반환하며, 경계를 벗어나면 예외를 발생시킵니다.

 

728x90