我有一個函數返回std :: strings的std :: vector。 但是,如果在功能開始時沒有遇到某些檢查,我就紓解(例如,沒有這樣的用戶)返回std :: vector <std::string>,但有時只有
對於這種情況,我沒有什麼可返回的正確語義是什麼?
我有一個函數返回std :: strings的std :: vector。 但是,如果在功能開始時沒有遇到某些檢查,我就紓解(例如,沒有這樣的用戶)返回std :: vector <std::string>,但有時只有
對於這種情況,我沒有什麼可返回的正確語義是什麼?
如果這在錯誤情況下,那麼你應該拋出一個異常。如果空列表被視爲正常操作,則返回空向量。答案將很大程度上取決於您的應用程序。
在我的情況下,它不是一個錯誤條件。這有助於,謝謝 – 1dayitwillmake
在你的情況很簡單,因爲你有std :: vector可以是空的。如果你想標記結果是無效的,你可以使用boost :: optional。
這是一個錯誤條件還是在您的程序的正常運行期間是預期的? –
也許可以通過'vector'byref,填充它並返回一個'bool'。 –
2013-08-06 18:11:34
(在C中,你將返回一個'char **',並且在錯誤時它將是'NULL')。 – 2013-08-06 18:12:17