d与c++构造器的区别

d中的构,与d中的类,数据都初化好了.但构已默认了,类清理了,但还未用.

struct S
{
    string s = "hello";
    int i;
    int j = 42;
}
//相当于.
assert(S.init == S(s, 0, 42));
//而类:
class C
{
    string s = "hello";
    int i;
    int j = 42;
}
//还是空,但实质内容与S一样.都是已初化数据.即在调用类前就先初化好了.
//如果`父()`未显式调用,则一开始就调用了.
assert(C.init is null);
posted @ 2019-10-03 08:48  zjh6  阅读(26)  评论(0)    收藏  举报  来源