>

std::pair<int, double> 를 반환하는 함수가 있습니다 .

이전 함수의 페어를 사용하고 페어의 데이터, 즉 첫 번째와 두 번째 데이터를 보려면 다른 함수를 만들고 싶습니다. 이전 함수의 반환 값을 새 함수의 매개 변수로 전달하여 두 번째 함수가 데이터를 볼 수 있습니까? C ++의 구문에 대해 잘 모르겠습니다.


  • 답변 # 1

    void func2( const std::pair <int, double>& data )
    {
    }
    std::pair <int, double> func1 ( /* ... * / )
    {
       //return pair
    }
    
    

    그런 다음 전화

    func2 ( fun1( /*... */ ) );
    
    

  • 답변 # 2

    위의 예와 같은 의미 인 것 같습니다 :

    #include <utility>
    std::pair<int, double> create() {
        return std::make_pair(4, 2.);
    }
    void accept(std::pair<int, double> p) { }
    int main() {
        accept(create());
    }
    
    

    응답은 예, 가능합니다

    페어 사본을수락으로 전달하지 않으려면메인에서 작업중인 정확한 인스턴스를 제출하십시오. 함수의 경우 다음과 같이 함수 프로토 타입을 약간 수정할 수 있습니다.

    #include <utility>
    std::pair<int, double> create() {
        return std::make_pair(4, 2.);
    }
    void accept(std::pair<int, double>& p) { }
    int main() {
        auto p = create();
        accept(p);
    }
    
    

    기타 등등 ...

관련 자료

  • 이전 java - textarea 컨트롤 - 사용할 데이터 구조 및 라인별로 얻는 방법
  • 다음 cypressio의 특정 방법에 대한 시간 초과 증가