Re: is Dlang support Uniform initialization like c++

2023-06-30 Thread Ali Çehreli via Digitalmars-d-learn

On 6/30/23 08:18, lili wrote:


How too wirte this: addPoint({4,5}, {4,6})


In this case, arrays are better but only if you don't define a 
constructor, which you don't need for simple types like Point below:


struct Point {
int x;
int y;
}

void main() {
// The type is explicit on the left-hand side
Point[] points = [ {1,2} ];
}

Ali



Re: is Dlang support Uniform initialization like c++

2023-06-30 Thread Steven Schveighoffer via Digitalmars-d-learn

On 6/30/23 11:18 AM, lili wrote:

     struct Point {
  int x;
  int y;
   this(int x, int y) { this.x =x; this.y=y;}
     }

     void addPoint(Point a, Point b) {
    ...
     }

How too wirte this: addPoint({4,5}, {4,6})


You have to write `Point(4, 5)`. The advantage is we don't need to deal 
with the complexity of C++ overloading rules.


-Steve


Re: is Dlang support Uniform initialization like c++

2023-06-30 Thread H. S. Teoh via Digitalmars-d-learn
On Fri, Jun 30, 2023 at 03:18:41PM +, lili via Digitalmars-d-learn wrote:
> struct Point {
>  int x;
>  int y;
>   this(int x, int y) { this.x =x; this.y=y;}
> }
> 
> void addPoint(Point a, Point b) {
>...
> }
> 
> How too wirte this: addPoint({4,5}, {4,6})

addPoint(Point(4,5), Point(4,6));


T

-- 
"No, John.  I want formats that are actually useful, rather than over-featured 
megaliths that address all questions by piling on ridiculous internal links in 
forms which are hideously over-complex." -- Simon St. Laurent on xml-dev


is Dlang support Uniform initialization like c++

2023-06-30 Thread lili via Digitalmars-d-learn

struct Point {
 int x;
 int y;
  this(int x, int y) { this.x =x; this.y=y;}
}

void addPoint(Point a, Point b) {
   ...
}

How too wirte this: addPoint({4,5}, {4,6})