2013-08-06 103 views
0

我有一個函數返回std :: strings的std :: vector。 但是,如果在功能開始時沒有遇到某些檢查,我就紓解(例如,沒有這樣的用戶)返回std :: vector <std::string>,但有時只有

對於這種情況,我沒有什麼可返回的正確語義是什麼?

+0

這是一個錯誤條件還是在您的程序的正常運行期間是預期的? –

+1

也許可以通過'vector 'byref,填充它並返回一個'bool'。 – 2013-08-06 18:11:34

+0

(在C中,你將返回一個'char **',並且在錯誤時它將是'NULL')。 – 2013-08-06 18:12:17

回答

1

如果這在錯誤情況下,那麼你應該拋出一個異常。如果空列表被視爲正常操作,則返回空向量。答案將很大程度上取決於您的應用程序。

+0

在我的情況下,它不是一個錯誤條件。這有助於,謝謝 – 1dayitwillmake

0

在你的情況很簡單,因爲你有std :: vector可以是空的。如果你想標記結果是無效的,你可以使用boost :: optional。

相關問題