簡體   English   中英

如何以x,y,z返回位置

[英]How to return a location as x,y,z

我怎樣才能使返回的x和y而不只是其中之一? 在Location類中,我保護了名為x_posy_pos數據。

void Location::getXY(double& x, double& y) const {
    x_pos = x;
    y_pos = y;
    return x, y;
}

您可以返回一個std::pair 我假設您想按值而不是此處引用返回。

#include <utility> // for std::pair 

// if using c++14, else use std::pair<double,double> as return type 
auto Location::getXY(double& x, double& y) const {
    x_pos = x;
    y_pos = y;
    return std::make_pair(x,y);
}

盡管我必須注意,此函數沒有邏輯意義,但是您返回的是傳遞給它們的值,而無需修改它們。

你可能是說

void Location::getXY(double& x, double& y) const {
    x = x_pos;
    y = y_pos;
}

這樣,您將Location的內部x_posy_pos在提供的位置中。 您不需要從返回void的函數return任何東西(實際上,除了void本身,您不能返回任何東西)。 正如大家之前所說,返回一個std::pair可能是一個更好的主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM