c++ - 如何使一个函数只能被一个函数在 C++ 中看到?

标签 c++

我怎样才能让一个函数只能被调用它的函数看到?

将我要隐藏的函数定义为私有(private)函数是不够的,因为它仍然可以被类中的其他公共(public)函数看到。

现在我使用 lambda 表达式在函数内部定义匿名函数。有没有更好的解决方案?

最佳答案

除了使用 lambda(您已拒绝),您可以在它自己的编译单元中实现您的函数,并在 anonymous namespace 中编写支持函数。 在该编译单元内。

但是支持函数将在类之外,因此您必须向它传递所需的所有参数。这可能会变得笨拙,但不会比长的 lambda 捕获列表差。

关于c++ - 如何使一个函数只能被一个函数在 C++ 中看到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27860768/

相关文章:

c++ - 在 C++ 中声明接口(interface)并使用多重继承实现接口(interface)

c++ - 重载 cout 时 undefined reference

c++ - "Debug Assertion"数组、头文件和声明

c++ - 移动到Qt5 : 'Type' has not been declared 时出现编译错误

c++ - 这个 C++ 程序的格式有什么问题?

c++ - QStandardItem问题

C++ 复项多项式函数评估失败

c++ - 如何创建可以独立于其依赖项使用的 C++ 库?

C++ 放置位置包括

c++ - "x = new(Foo)"与任意 Foo 的 "x = new Foo"相同吗?