小编Tom*_*Tom的帖子

命名空间中的c ++本地函数

来自ADA,我在C++中确实有一件事,那就是能够使用嵌套或本地函数.在ADA中,我可以这样做:

procedure TotalSum ()
is
    function Sum (a : Float; b : Float) return Float;
    is
    begin
        return a + b;
    end Sum;

    x : Float := 1.0;
    y : Float := 1.0;
    z : Float := 1.0;
    sum : Float;
begin
    sum := Sum(x,y);
    sum := Sum(sum,z);
end TotalSum;
Run Code Online (Sandbox Code Playgroud)

这样做的好处是我可以限制仅在本地使用的函数的范围.对于类,我习惯了这样一个事实:我可以声明一个私有函数,以限制范围(这限制了范围).但是现在我在命名空间而不是类中实现了一个函数库,我无法找到一个很好的解决方案来限制我的本地函数的范围.

是否有最佳实践可以在C++命名空间中完成上述操作.

c++ nested namespaces function local

2
推荐指数
1
解决办法
538
查看次数

标签 统计

c++ ×1

function ×1

local ×1

namespaces ×1

nested ×1