したがって、このコードは意味がないことがわかっています。
const int foo()
{
int n = // do computation...;
return n;
}
とにかくコピーされたときに「const int」を返すのはどういう意味ですか?
しかし、Qt コンテナーのような暗黙的共有 (COW) を備えたクラスでは、やはり意味があるのでしょうか? 検討:
const QList<mytype> get_list()
{
QList<mytype> lst;
// do stuff to fill list;
return lst;
}
今私はできる:
const QList<mytype> mylst = get_list();
Qt にはコンテナーの暗黙的な共有があるため、return lst
実際にはリストの内容をコピーせず、refcount を増やすだけで、const
それを変更できないことを確認するため、問題なく動作するはずです (get_list
何らかの理由で確実にしたい場合、または必要な場合)。const
メソッド自体である) 。ここで私の考えは正しいですか?