boost::optional
値を変更する関数に参照として左辺値を渡すことはできますか? このようなもの ( http://coliru.stacked-crooked.com/a/f77d3b095af3d66b ):
#include <iostream>
#include <boost/optional.hpp>
void foo(int& x)
{
x = 3;
}
int main() {
boost::optional<int> y;
foo(*y);
std::cout << *y << std::endl;
}
当然のことながら、これは機能しません。
この関数は、出力引数として標準型を使用する必要があります (例: int& x
)。これを正しく説明していることを願っています。私は私の意図の一般的な可能性について尋ねています。