Equivalent of with(from Pascal) to C/C++

2020-03-26 07:21发布

What is the equivalent of with from Pascal language in C/C++ language?

A with statement is a shorthand for referencing the fields of a record or the fields, properties, and methods of an object.

Example

With (Object) do
begin
   Width:=200;
   Height:=300;
end;

Is Equivalent with:

Object.Width=200;
Object.Height=200;

1条回答
在下西门庆
2楼-- · 2020-03-26 07:58

I don't believe that there is any direct equivalent to that statement in c/c++.

If your objective is to avoid repeatedly typing "Object", then I suppose you could use a reference to map it to a shorter name, such as:

  ClassName& o = Object;
  o.prop1 = "meep";
  o.prop2 = "moop";

But I would personally only use this in cases where "Object" is a complex expression. E.g.:

  ClassName& o = something.getSomeOtherThing().getSomeThirdThing();
  o.prop1 = "meep";
  o.prop2 = "moop";
查看更多
登录 后发表回答