digitalmars.D - How to use struct postblit/opAssign/constructors
- Uranuz (14/14) Nov 30 2013 I don't know why but I feel myself confused with struct variables
I don't know why but I feel myself confused with struct variables in D. As far as structs are value types this means that they are copied everywhere except when passing from/to functions with ref qualifier. So what I don't understand is when each of these methods for struct variables are called (postblit/opAssign/constructors). Am I right that postblit is used to assign to struct another value with the same type? But what is used when I assign value of the same type, but with another qualifier (const to mutable, immutable to mutable). Should I overload opAssign instead? Or create special constructor to make new value of type that I need? I don't understand what is general guideline in such situations, because it's common case when I need create some mutable copy of const or immutable struct data to work with.
Nov 30 2013