지도 C++에서

Jido C Eseo



C++ STL 라이브러리는 맵 클래스를 제공합니다. 맵은 정렬된 키 값과 매핑된 값 쌍에 개체를 유지하는 연관 컨테이너로 간주됩니다. 동일한 키 값을 가진 두 개의 매핑된 값이 있을 수 없습니다. Map 클래스는 많은 기능을 제공하지만 여기에서는 논의할 것입니다. map.at() 기능. 키 값에 매핑된 요소는 다음을 사용하여 참조되는 함수의 매개변수로 전달됩니다. map.at() 기능. 컨테이너의 범위 안에 있지 않은 요소에 접근하려고 할 때, map.at() 함수는 컨테이너의 범위를 평가하고 예외를 발생시킵니다.

map.at() 함수의 구문

C++에서 map.at() 함수를 구현하려면 아래 구문을 따라야 합니다.







Map_variable.at ( 열쇠 / 값 쌍 )



우리는 'Map_variable'이라는 지도 객체를 다음과 함께 사용했습니다. 에() 기능. 직접 참조되고 지정된 키 값을 가리키는 요소를 반환합니다. 데이터 키 맵은 대부분 맵의 범위에 따라 다릅니다. 그렇지 않은 경우 값이 정의된 범위를 벗어남을 나타내는 예외 또는 오류가 실행 시 반환될 가능성이 있습니다. 이제 C++ 코드에서 이 구문을 사용하여 작동하는지 보여줍니다.



예제 1: map.at() 함수 사용

이 프로그램은 map.at 기능을 보여주기 위해 구현됩니다. 우리는 연결했습니다 에() 기능 지도() 일부 입력 값을 받아 기능을 보여주는 함수입니다. 이를 위해 지도 모듈을 C++에 필요한 다른 모듈로 가져와 프로그램의 헤더 섹션을 채웠습니다. 그런 다음 우리는 전화를 걸었습니다. 기본() 지도 클래스에서 지도 선언을 위한 함수. 지도의 개체는 'MyMap'으로 레이블이 지정됩니다. 지도 키와 값을 제공하여 지도 목록을 만듭니다.





그 후, 우리는 map.at() 지정된 문자열을 정수로 매핑하는 함수입니다. 그런 다음 결과를 인쇄했습니다. map.at() for 루프의 함수. for 루프는 'auto' 키워드 참조를 사용합니다. auto 키워드는 이니셜라이저가 선언된 유형에서 변수 유형을 자동으로 제거함을 나타냅니다. cout 문은 에서 반환된 순서대로 쌍을 인쇄합니다. map.at() 기능.

#include

#include <문자열>

#include <지도>


정수 메인 ( )

표준: :지도 < std::문자열, 정수 > 내 지도 = {

{ '사과', 0 } ,

{ '포도' , 0 } ,

{ '망고' , 0 } }

마이맵.at ( '사과' ) = 5 ;

마이맵.at ( '포도' ) = 10 ;

마이맵.at ( '망고' ) = 6 ;

~을 위한 ( 자동 & m: 마이맵 ) {

표준::컷 << 엠퍼스트 << ': ' << m.초 << '\N' ; }

< 강한 > 반품 0 ;

}

이제 우리는 위의 프로그램을 구현한 결과를 얻었습니다. map.at() 기능. 범위에 있는 지정된 모든 정수가 각 문자열에 대해 표시됩니다.

예 2: out_of_range 예외에 대해 map.at() 함수 사용

우리는 예제 프로그램을 통해 지도.at C++의 함수. 이제 우리는 다른 지도.at 프로그램에서. 그러나 이번에는 키가 지정되지 않은 경우 맵 내부에 표시된 값과 out_of_range 예외를 반환합니다. 활용해야 하므로 지도.at 기능이 있으므로 헤더에 지도 모듈을 추가했습니다. 그런 다음 'void'가 매개 변수로 전달되는 main 함수를 정의했습니다.

메인 함수 내에서 맵 객체를 'm1'으로 생성하여 목록 생성자를 초기화했습니다. 맵 목록에는 다른 키 문자열과 이에 대한 정수 값이 있습니다. 그런 다음 키 'i'를 통과하여 인쇄했습니다. 지도.at 기능. try-catch 블록을 사용했습니다. try 블록에서 존재하지 않는 키를 제시했습니다. 지도.at 기능. 키가 범위를 벗어나므로 try 블록에서 오류가 발생합니다.

#include

#include <지도>

네임스페이스 std 사용

정수 메인 ( 무효의 ) {


지도 < 문자, 정수 > m1 = {

{ '엘' , 1 } ,

{ '나' , } ,

{ 'N' , } ,

{ '안에' , 4 } ,

{ '엑스' , 5 } ,

} ;



쫓다 << '맵 키 값 m1['i'] = ' << m1.at ( '나' ) << 끝;



노력하다 {

m1.at ( '와이' ) ;

} 잡다 ( const out_of_range & 그리고 ) {

세르 << '에 오류가 있습니다.' << e.무엇 ( ) << 끝;

}



반품 0 ;

}

출력 스크린샷에서 시각화할 수 있습니다. map.at() 함수는 맵에 있는 키만 반환합니다. 범위를 벗어난 키는 키 'y'를 전달할 때 오류가 표시되므로 오류가 발생합니다. 지도.at 기능.

예 3: 요소 액세스를 위해 map.at() 함수 사용

map.at 함수에서 지정된 숫자 요소를 사용하여 요소에 액세스할 수 있습니다. 위의 문장을 완성하기 위해 이 프로그램을 구현해보자. 액세스하는 데 필요하므로 헤더 섹션에서 맵 모듈을 먼저 정의했습니다. 지도.at 기능. 그런 다음 지도 클래스가 지도 객체를 'Map'으로 초기화한 메인 함수가 있습니다. 이 'Map' 개체를 사용하여 문자열 키를 생성하고 숫자 값을 할당했습니다. 그 후 우리는 전화를 걸었다. 지도.at cout 문으로 함수를 만들고 '예제' 키를 입력으로 전달했습니다.

#include

#include <지도>

#include <문자열>

네임스페이스 std 사용

정수 메인 ( )

{

지도 < 문자열, 정수 > 지도;

지도 [ '나의' ] = 1 ;

지도 [ 'C++' ] = ;

지도 [ '지도' ] = ;

지도 [ '예시' ] = 4 ;

쫓다 << 지도.at ( '예시' ) ;

반품 0 ;

}

숫자 요소는 지정된 키에 대해 반환됩니다. 지도.at 기능. 이 숫자가 지도의 키 요소 '예제'에 할당되기 때문에 결과는 값 '4'를 제공합니다.

예 4: 요소 수정을 위해 map.at() 함수 사용

키 값과 관련된 값을 수정하는 간단한 예를 살펴보겠습니다. 맵 클래스를 호출하고 객체 'M1'을 생성하여 맵 목록을 생성했습니다. 맵의 각 키에 대해 문자열 값을 할당했습니다. 그런 다음 우리는 지도.at 기능. 에서 지도.at 기능에서 지정된 키를 사용하고 해당 키에 대해 새 문자열 값을 할당했습니다. 이제 이 값은 이전 값으로 수정됩니다. for 루프의 도움으로 맵에서 각 요소를 반복하고 출력으로 표시했습니다.

#include

#include <문자열>

#include <지도>


네임스페이스 std 사용


정수 메인 ( )

{

지도 < 정수, 문자열 > M1 = {

{ 10 , 'C++' } ,

{ 이십 , '자바' } ,

{ 30 , '파이썬' } ,

{ 40 , '샤프' } ,

{ 오십 , '열려 있는' } } ;




M1.at ( 이십 ) = '텐서플로' ;

M1.at ( 30 ) = '리눅스' ;

M1.at ( 오십 ) = '스칼라' ;

쫓다 << ' \N 집단:' << 끝;

~을 위한 ( 자동 & ×: M1 ) {

쫓다 << 엑스퍼스트 << ': ' << x.초 << '\N' ;

}


반품 0 ;

}

출력으로 얻은 값은 에서 새로 할당된 문자열 값을 수정했습니다. 지도.at 기능. 업데이트된 값은 아래 스냅샷에 표시됩니다.

결론

이 기사는 map.at 함수에 관한 것입니다. 구문을 통해 map.at() 함수의 기능을 제공했으며 예제는 C++ 컴파일러로 구현되었습니다. map.at() 함수는 요소 접근성을 허용하고 메서드가 호출될 때 발생한 상황을 설명하는 명확한 예외 또는 오류를 반환하므로 매우 유용합니다. 또한 map.at 함수를 통해 존재 키에 대해 새 값을 할당할 수 있습니다.