What advantages do ref params give over pointer params?

struct MyStruct {
        string str;

        this(string str) { this.str = str; }
}

void processRef(ref MyStruct ms) {
        writeln("processRef: ", ms);
}

void processPointer(MyStruct* ms) {
        writeln("processPointer: ", *ms);
}

void main(string[] args) {
auto ms = MyStruct("the ultimate answer to everythin is the number 42");

        processRef(ms);
        processPointer(&ms);
}

Reply via email to