簡體   English   中英

在 C++ 中返回輸入

[英]Returning input in C++

我對 C++ 很陌生,想知道是否有辦法直接從 function 返回 integer 輸入而不將其存儲在變量中。 更清楚地說:

#include <iostream>

int function()
{
    std::cin >> (return function here???)
}
int main()
{
    int number = function()
    std::cout << number
    return 0;
}

謝謝你的幫助。

如果有辦法直接從 function 返回 integer 輸入而不將其存儲在變量中。

那沒有。 所有標准輸入接口都采用 object 參數,它們修改而不是返回結果值1

這種設計的一個可能原因是輸入錯誤是非常典型的。 避免從聲明返回int的 function 返回int的唯一方法是拋出(或終止進程,但這很愚蠢)。 並且輸入錯誤可能被認為是非異常的,以至於使用異常來處理輸入處理的控制流可能被認為是不合適的。 這只是我的推理,不是設計選擇的權威解釋。

如果您修復您的function是正確的,使用必要的變量並檢查錯誤,那么您可以使用 function 來做到這一點:

return function();

1除了std::istream::get()和相應的 C 樣式std::getcstd::fgetc之外,您可以使用它們來提取它們直接返回的單個字符。

暫無
暫無

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

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