我試圖定義一個值類型,它包含一個size_t
或一個null
(這就是我的意思是'可能類型')。我希望能夠做的就是這樣的事情(在相關類型爲Maybe!size_t
:D中的可能類型
Maybe!size_t something_which_could_fail (int foo) {
if (foo < 0) { return null;}
else { return foo;}
}
我將如何實現這樣的事情在理想情況下,我希望能夠使它成爲一個模板(這樣的嗎?我也可以有其他的Maybe
類型),並且可以像上面那樣從可能轉換到非可能類型(儘管如果這不可能,我不介意類型轉換)。如果我可以做類似的事情也會很好這樣的:?
Maybe!size_t a = 50;
Maybe!size_t b = null;