Heim > Artikel > Backend-Entwicklung > Wie gehen C++-Funktionen mit mehreren Rückgabewerten um?
C++-Funktionen können auf drei Arten mehrere Werte zurückgeben: Verwenden einer Struktur: Erstellen Sie eine Struktur und verwenden Sie sie als Rückgabewert. Verwenden Sie den Punktoperator, um auf die Strukturmitglieder zuzugreifen. Arbeiten mit Tupeln: Verwenden Sie std::tuple, um ein Tupel zu erstellen, und std::getecb5fc74e9cd1f249d43a2bdbf2f239d(tuple), um den Wert im Tupel abzurufen. Übergeben Sie mehrere Parameter: Übergeben Sie Funktionsparameter als Referenz und Rückgabewerte als Ausgabeparameter.
Mehrere Werte von einer C++-Funktion zurückgeben
In der C++-Programmierung geben Funktionen normalerweise einen einzelnen Wert zurück. Aber manchmal müssen Sie mehrere Werte von einer Funktion zurückgeben. Dies kann durch die Verwendung von Strukturen, Tupeln oder die Angabe mehrerer Parameter erreicht werden.
Verwenden Sie eine Struktur, um mehrere Werte zurückzugeben.
Eine Struktur ist ein Aggregattyp, der zum Speichern mehrerer Werte verwendet werden kann. Sie können Ihren eigenen Strukturtyp erstellen und ihn als Funktionswert zurückgeben. Zum Beispiel:
struct Point { int x; int y; }; Point getCoordinates() { // 计算 x 和 y 值 return {5, 10}; }
Diese Funktion gibt eine Struktur vom Typ Point
zurück, die die x- und y-Koordinaten enthält. Sie können mit dem Punktoperator (.
) auf Strukturelemente zugreifen. Point
的结构体,其中包含 x 和 y 坐标。您可以使用点运算符 (.
) 访问结构体成员。
使用元组返回多个值
元组是一种轻量级容器,可存储不同类型的值。您可以使用 std::tuple
类来创建元组。例如:
std::tuple<int, int> getCoordinates() { // 计算 x 和 y 值 return std::make_tuple(5, 10); }
此函数返回一个类型为 std::tuple4101e4c0559e7df80e541d0df514fd80
的元组,其中包含 x 和 y 坐标。您可以使用 std::getecb5fc74e9cd1f249d43a2bdbf2f239d(tuple)
获取元组中特定索引的值。
通过多个参数返回多个值
您还可以通过指定多个函数参数来返回多个值。例如:
void getCoordinates(int& x, int& y) { // 计算 x 和 y 值 x = 5; y = 10; }
此函数通过将 x
和 y
Mehrere Werte mit Tupeln zurückgeben
Ein Tupel ist ein leichter Container, der verschiedene Arten von Werten speichern kann. Sie können die Klassestd::tuple
verwenden, um Tupel zu erstellen. Zum Beispiel: #include <tuple> std::tuple<int, int> getRectangleDimensions() { // 获取矩形的长和宽 int length = 5; int width = 10; // 返回一个包含长和宽的元组 return std::make_tuple(length, width); }Diese Funktion gibt ein Tupel vom Typ
std::tuple4101e4c0559e7df80e541d0df514fd80
zurück, das die x- und y-Koordinaten enthält. Sie können std::getecb5fc74e9cd1f249d43a2bdbf2f239d(tuple)
verwenden, um den Wert an einem bestimmten Index in einem Tupel abzurufen.
Mehrere Werte über mehrere Parameter zurückgeben
Sie können auch mehrere Werte zurückgeben, indem Sie mehrere Funktionsparameter angeben. Zum Beispiel: 🎜auto dimensions = getRectangleDimensions(); int length = std::get<0>(dimensions); int width = std::get<1>(dimensions);🎜Diese Funktion gibt die x- und y-Koordinaten als Ausgabeparameter zurück, indem sie die Parameter
x
und y
als Referenzen übergibt. 🎜🎜🎜Ein praktischer Fall🎜🎜🎜Das Folgende ist ein praktischer Fall der Verwendung eines Tupels zur Rückgabe mehrerer Werte: 🎜🎜Angenommen, wir haben eine Funktion, die die Länge und Breite eines Rechtecks ermittelt. Wir können diese beiden Werte mithilfe eines Tupels zurückgeben, wie unten gezeigt: 🎜length: 5 width: 10🎜 Jetzt können wir mithilfe eines Tupels auf die Länge und Breite des Rechtecks zugreifen: 🎜rrreee🎜 Ausgabe: 🎜rrreee
Das obige ist der detaillierte Inhalt vonWie gehen C++-Funktionen mit mehreren Rückgabewerten um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!