Korzystanie z obiektu std::shared_ptr
wyraża współwłasność i opcjonalność (z możliwością uzyskania zerowej wartości).shared_ptr, które nie może być puste?
Znajduję się w sytuacjach, w których chcę wyrazić współwłasność tylko w moim kodzie, bez żadnej opcjonalności. Używając parametru shared_ptr
jako parametru funkcji, muszę pozwolić, aby funkcja sprawdziła, czy nie jest równa zero, aby była spójna/bezpieczna.
Podanie odniesienia zamiast oczywiście jest opcją w wielu przypadkach, ale czasami chciałbym również przenieść prawo własności, jak to jest możliwe z shared_ptr
.
Czy istnieje klasa, która może zastąpić shared_ptr
bez możliwości unieważnienia, jakąś konwencję, aby poradzić sobie z tym problemem, czy moje pytanie nie ma większego sensu?
Należy zamiast tego podać referencję (const). –
http://stackoverflow.com/questions/11365149/missing-shared-ref –
^Nie ma zbyt wielu przypadków użycia, aby przekazać wartość 'shared_ptr' według wartości. –