我试图从Bjarne的“C++编程语言”中了解C++中的“助手函数”。但是这本书并没有解释任何关于它的内容,以及在课堂上使用它的目的。我试着在网上搜索它,发现了这便条:死链接。我知道它的要点,但还不清楚帮助者函数的真正目的是什么,我什么时候应该使用它们,总的来说,什么是助手函数?
发布于 2013-10-09 11:07:21
“助手函数”不是一个在标准中可以找到的术语,它也没有确切的定义.标准提到"helper class“或"helper template”几次来引用一个类,这并不意味着由最终用户实例化,但是它提供了在另一个类内部使用的有用的功能。
Helper函数通常是(我相信大多数人所说的)函数,它们包装了一些有用的功能,您很可能会一次又一次地重用这些功能。您可以创建用于许多不同用途的助手函数.
例子可能是任何类型的转换函数,例如将多字节编码的std::string
转换为std::wstring
的函数。
std::wstring s2ws(const std::string& str)
{
int size_needed = MultiByteToWideChar(CP_UTF8, 0, &str[0], (int)str.size(), NULL, 0);
std::wstring wstrTo( size_needed, 0 );
MultiByteToWideChar(CP_UTF8, 0, &str[0], (int)str.size(), &wstrTo[0], size_needed);
return wstrTo;
}
发布于 2016-02-19 13:18:27
来自CppCoreGuidline的助手函数有一个很好的定义
helper函数是一个函数(通常由类的编写者提供),它不需要直接访问类的表示,而是类的有用接口的一部分。将它们放置在与类相同的名称空间中,使它们与类的关系变得明显,并允许通过依赖于参数的查找找到它们。
要获得更多信息,您可以使用一个明确的示例来检查段落,上面的引号是从该示例中获取的。
发布于 2018-05-01 13:56:13
“帮助函数”在的书中有描述,我昨天只是读到了它们。Stroustrup认为,一个类的良好设计应该将实现类的函数数量保持在最低限度。根据Stroustrup的说法,你不想在一个类中有50个函数。相反,您使用使用类接口(调用成员函数)的“助手函数”。它们可能(对此不确定)可以在共享名称空间中定义,以赋予它们“关系”的意义。你可以在第九章第9.7.5节的书中找到这一段
https://stackoverflow.com/questions/19270178
复制相似问题