gpt4 book ai didi

c++ - 关联两个变量一起改变

转载 作者:行者123 更新时间:2023-11-30 02:34:35 25 4
gpt4 key购买 nike

是否可以关联两个变量一起改变?

例子:

class foo{
public:
std::vector<int> v1;
std::vector<float> v2;

//Imaginary Code here:
void on_v2_change(){
std::transform(begin(v2),end(v2),begin(v1),[](auto& item){ return std::round(item);});
}
}

int main(){
foo bar;
bar.v2.push_back(5.7);
//v2={5.4}
//v1={5}
}

有没有一种直接的方法来实现前面的?类似于 Java 或 C# 事件。

最佳答案

我不知道你是否可以完全使用这种语法,但你可以使用以下语法:

class foo {
std::vector<int> v1;
std::vector<float> v2;

public:
void push_back(float val) {
v1.push_back(std::round(val));
v2.push_back(val);
}
// ....

您还可以为其他功能添加类似的功能(如 erase())。据我所知,没有其他方法可以同时更改两个 vector 。

关于c++ - 关联两个变量一起改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34449000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com