gpt4 book ai didi

c++ - C++ 中只有静态方法的类的优点

转载 作者:IT老高 更新时间:2023-10-28 12:50:14 24 4
gpt4 key购买 nike

即使有no static classes in C++ ,来自 Java 背景,我用它来创建一个像 Util 这样只包含静态方法的辅助类。这被认为是不好的风格还是通常的做法?我看到的一种替代方法是使用 C 函数(根本没有类上下文)。还有哪些其他选择?有什么优点和缺点,在什么情况下我会使用这些。

defining bunch of static methods in c++建议将命名空间静态函数作为一种选择,尽管我看不到没有类上下文的 static 关键字有什么影响。

最佳答案

如果你想在不破坏全局命名空间的情况下创建一组实用函数,你应该在它们自己的命名空间中创建常规函数:

namespace utility {
int helper1();
void helper2();
};

您可能也不想让它们成为静态函数。在非成员函数(与成员函数相反)的上下文中,C 和 C++ 中的 static 关键字只是将函数的范围限制为当前源文件(也就是说,它使函数对当前文件)。它通常仅用于实现用 C 编写的库代码使用的内部辅助函数,因此生成的辅助函数没有暴露给其他程序的符号。这对于防止名称之间的冲突很重要,因为 C 没有命名空间。

关于c++ - C++ 中只有静态方法的类的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7345956/

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