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
특징
- 반환 타입
- T& front(); (비-상수 컨테이너)
- const T& front() const; (상수 컨테이너)
반환된 참조를 통해 첫 번째 요소를 읽거나 수정할 수 있습니다. 상수 컨테이너의 경우 요소를 수정할 수 없습니다.
- 컨테이너 비어 있음 체크 필요
컨테이너가 비어 있는 상태에서 front를 호출하면 정의되지 않은 동작(Undefined Behavior) 이 발생합니다. 이를 방지하려면 호출 전에 empty() 함수를 사용하여 컨테이너가 비어 있지 않은지 확인해야 합니다.
if (!vec.empty()) {
std::cout << vec.front() << std::endl;
} else {
std::cout << "컨테이너가 비어 있습니다." << std::endl;
}
복잡도
front 함수의 호출은 상수 시간(O(1)) 에 이루어집니다.
유사 함수
- back: 컨테이너의 마지막 요소를 참조합니다.
- at: 컨테이너의 특정 위치의 요소를 반환하며, 경계를 벗어나면 예외를 발생시킵니다.
728x90