gpt4 book ai didi

c++ - 如何设计一个简单的转换例程的接口(interface)?

转载 作者:搜寻专家 更新时间:2023-10-31 01:54:27 25 4
gpt4 key购买 nike

我有一个简单的正则表达式转换方法,用于对作为 std::string 传入的 HTML 进行一些小的处理。该方法如下所示:

std::string ParseQuotedPrintableHtml( std::string const& html );

我想将此方法设计成某种小型库,可以在我的整个代码库中使用。由于它只是一个函数,人们可能会想创建一个 Utility 类(或 namespace )并将函数填充到其中。我觉得这是一个有点幼稚的设计。关于如何将此类功能设计到一个集中且可访问的位置的良好经验法则,有什么建议吗?

编辑

我还应该提到,这个函数调用了几个“辅助”函数(我也创建了这些,它们只对这个方法有用并被这个方法使用)。理想情况下,这些在类中是“私有(private)的”,但如果我将其保留为全局函数,则这些实现方法也可以在全局命名空间(或我将它们放入的任何命名空间)中访问。

我想因此,也许最好创建一个实用程序类?

class QuotedPrintableHtml
{
private:
void HelperMethod1() const;
void HelperMethod2() const;

std::string html_;

public:
QuotedPrintableHtml( std::string const& html ) : html_(html) {}
std::string Parse() const;
};

也许是这样的?

最佳答案

我不建议创建一个类:实用程序函数不共享某些状态,所以我只创建一个 namespace ,如 Utilities 来收集这些免费函数。您可以将所有不想共享的辅助函数放在您的 cpp 文件中的匿名命名空间中。

关于c++ - 如何设计一个简单的转换例程的接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9621061/

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