opIndexUnary post in-/decrement how to ?
    Tejas 
    notrealemail at gmail.com
       
    Wed Jul 14 15:40:19 UTC 2021
    
    
  
On Wednesday, 14 July 2021 at 15:23:05 UTC, vit wrote:
> On Wednesday, 14 July 2021 at 15:19:03 UTC, vit wrote:
>
>
> ```d
> import   std.stdio;
>
> struct abc{
>     int[100] a;
>
>     struct Proxy{
>         abc* ptr;
>     	const int index;
>
>         int opUnary(string op : "++")(){
>         	return ++ptr.a[index];     //add missing ++
>         }
>     }
>
>     Proxy opIndex(int index)return{
>         return Proxy(&this, index);
>     }
> }
>
> void main (){
>     abc s;
>     s[0]++;
>     ++s[0];
> }
>
>
> ```
The ```post increment``` still doesn't work :(
this is the output for your code:
```
Proxy(7FFC7ACB3E60, 0)
2
```
And if the add the following statements:
```d
writeln(s[0]++);
     writeln(s[0]);
     writeln(s[0]++);
     writeln(s[0]);
     writeln(++s[0]);
```
Output:
```
Proxy(7FFCBE3CAF20, 0)
Proxy(7FFCBE3CAF20, 0)
Proxy(7FFCBE3CAF20, 0)
Proxy(7FFCBE3CAF20, 0)
3
```
    
    
More information about the Digitalmars-d-learn
mailing list