const-correct structs, best practices?
Steven Schveighoffer via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Aug 21 09:56:52 PDT 2015
On 8/21/15 12:31 PM, Nick Sabalausky wrote:
> On 08/21/2015 12:22 PM, Dicebot wrote:
>> On Friday, 21 August 2015 at 15:00:04 UTC, Nick Sabalausky wrote:
>>> Is there a good posting somewhere that summarizes the current best
>>> practices for making const-correct (ie works for all of
>>> mutable/const/immutable) structs?
>>
>> - mark methods const
>> - avoid reference type fields
>>
>> ;)
>
> What about inout?
>
> I have a struct that supports operator overloading, returning the
> struct's own type. After fiddling with that, I got a good laugh out of
> Meta's comment, and I think he may be right!
>
inout should work when returning a piece of the struct. I found it
incredibly easy when instrumenting dcollections. Just use it like you
would const.
Where you are going to run into problems is if you have things like
ranges that need to partially cast to const.
-Steve
More information about the Digitalmars-d-learn
mailing list