[英]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::getc
和std::fgetc
之外,您可以使用它們來提取它們直接返回的單個字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.