C++ C++;“定制会员对会员”;指针";/通道
几年前,当我在谷歌上搜索时,我发现了一个简洁的功能。 它允许使用某种“函数”来控制对成员变量的访问,但我似乎再也找不到它了。(我也不确定这是否是C++特性,或者只针对MSVC编译器,因为它在VisualStudio中被突出显示红色,就像它是标签或某物)< /P> 其背后的理论与此类似:C++ C++;“定制会员对会员”;指针";/通道,c++,class,visual-c++,operator-keyword,member,C++,Class,Visual C++,Operator Keyword,Member,几年前,当我在谷歌上搜索时,我发现了一个简洁的功能。 它允许使用某种“函数”来控制对成员变量的访问,但我似乎再也找不到它了。(我也不确定这是否是C++特性,或者只针对MSVC编译器,因为它在VisualStudio中被突出显示红色,就像它是标签或某物)< /P> 其背后的理论与此类似: class A { public: .test(int value) { priv = value; } private: int priv = 0; }; ... A a; a.test = 14; //
class A
{
public:
.test(int value)
{
priv = value;
}
private:
int priv = 0;
};
...
A a;
a.test = 14; // Sets priv to 14 ! note no () needed after test´
有人知道它是什么吗?指定的初始值设定项
如果非要我推测的话,你很可能见过C99指定的初始值设定项
看起来是这样的:
MY_TYPE a = { .flag = true, .value = 123, .stuff = 0.456 };
这只是C语言,C++中不存在。有一个C++20提案已被接受,其中包括对它们的有限支持:
C++/CLI属性另一个要注意的是属性,管理C++的一部分。 您可以这样使用它们(来源:)
谢谢大家的回应,但不,这并不像有些人拼命想告诉我的那样 对于那些对其工作方式感兴趣的人:
struct S
{
int i;
void putprop(int j) {
i = j;
}
int getprop() {
return i;
}
__declspec(property(get = getprop, put = putprop)) int the_prop;
};
S s;
s.the_prop = 5;
int test = s.the_prop;
这不是合法的C++语法。我觉得C++可能有类似的代码,比如<代码> > <代码> >设置>代码>功能。我知道它看起来不像C++语法,我知道你在说什么,但它仍然在过去工作,但是我很遗憾我找不到它。你是在寻找吗?你是说<代码>朋友< /Cord>关键字?你可以做的。
a.test
一个类的实例,其中运算符=
用于赋值,而运算符int
用于读取值。但这可能不是个好主意。啊哈,好的。C++ Builder具有类似的特性。
struct S
{
int i;
void putprop(int j) {
i = j;
}
int getprop() {
return i;
}
__declspec(property(get = getprop, put = putprop)) int the_prop;
};
S s;
s.the_prop = 5;
int test = s.the_prop;