gpt4 book ai didi

c++ - 如何制作 char 数组和 std::string "in a relationship"?

转载 作者:太空狗 更新时间:2023-10-29 23:05:43 26 4
gpt4 key购买 nike

我正在寻找一种将 char 数组与字符串相关联的方法,以便每当 char 数组更改时,字符串也会更改。我试图将 char 数组和字符串变量都放在一个 union 中,但没有奏效,因为编译器提示...

欢迎任何想法...

最佳答案

    class Observable_CharArray
{
char* arr;
std::function<void(char*)> change_callback;

public:
Observable_CharArray(int size, std::function<void(char*)> callback)
: arr(new char[size]), change_callback(callback){}

~Observable_CharArray()/*as mentioned by Hulk*/
{
delete[] arr;
}

void SetCallback(std::function<void(char*)> callback)
{
change_callback = callback;
}

/*other member function to give access to array*/

void change_function()
{
//change the array here
change_callback(arr);
}

};

class Observer_String
{
std::string rep;

void callback(char* cc)
{
rep = std::string(cc);
}

public:
Observer_String(Observable_CharArray* och)
{
och->SetCallback(std::bind(&callback, this, _1));
}

/*other member functions to access rep*/
};

设计绝对可以改进。可以有其他方法来解决您的实际问题,而不是观察 char 数组。

关于c++ - 如何制作 char 数组和 std::string "in a relationship"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18190691/

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