小编gry*_*zek的帖子

递归和预递减运算符

我有这个功能:

void m(int n)
{
    if(n > 0)
      m(--n);
      cout << n << " "; //for n = 5 --> output is: 0 0 1 2 3 4
}
Run Code Online (Sandbox Code Playgroud)

我有一个问题,了解它是如何工作的.例如:

n(输入)= 5

输出:0 0 1 2 3 4

我的问题是:为什么它显示零两次?

当我添加这样的括号:

void m(int n)
{
    if(n > 0)
    {
        m(--n);
        cout << n << " "; // now, it shows 0 1 2 3 4 (n = 5)
    }
}
Run Code Online (Sandbox Code Playgroud)

那么,在这段代码中括号是什么,"0"只存在一次?

当我将预减量(--n)改为后减量(n--)时,它什么也没有显示.为什么?

有人可以帮我理解它是如何工作的吗?

c++ recursion function decrement

4
推荐指数
1
解决办法
355
查看次数

如何为调试和发布模式设置 Firebase Crashlytics

我想为调试和发布模式设置 crashlytics,但在 firebase 文档中找不到正确的信息。

目前该应用程序在一个项目中,并且只有一个用于调试和发布的 crashlytics。我无法使用与前一个应用程序相同的包创建另一个应用程序。另一种选择是让另一个项目与第一个项目具有相同的包,但由于 api 密钥和其他功能,我需要一个项目。

我有两个想法,但没有解决方案:

  1. 一个项目 -> 两个应用程序(具有相同的包? -> 现在它不起作用) -> 两个 google-services.json 和风味。
  2. 一个项目 -> 一个应用程序 -> 两个用于调试和发布的 crashlytics 设置(怎么做?)

有没有人有一些提示可以帮助解决这个案例?

android firebase crashlytics android-productflavors

4
推荐指数
1
解决办法
2786
查看次数