首页 > 解决方案 > 如何在 if else 语句中更新全局变量(C++)

问题描述

我是 C++ 的新手,这是一项非常简单的任务,但是我看过的所有教程都在 if-else 条件下使用 cout 一些字符串。

我想在 if-else 语句中更新一个全局变量。

这是代码;

        double theta_radian{};
        if (l2 >= l1)
        {
            double theta_radian = atan2(e2.y(), e2.x());
            std::cout << "theta_local" << theta_radian << std::endl;
            
        }
        else
        {
            double theta_radian = atan2(e1.y(), e1.x());
            
        }
        std::cout << "theta_radian" << theta_radian << std::endl;

我想根据 if-else 条件更新 theta_radian 变量。

我不想创建一个向量并 push_back 到它,因为这是一个简单的练习,我想学习如何正确地做到这一点。

提前致谢!

标签: c++if-statement

解决方案


这是更新的代码:

double theta_radian; // NOTE: Brackets were not needed here, also 'double' is a value-type
if (l2 >= l1)
{
    theta_radian = atan2(e2.y(), e2.x());
    std::cout << "theta_local" << theta_radian << std::endl;
}
else
{
    theta_radian = atan2(e1.y(), e1.x());
}
std::cout << "theta_radian" << theta_radian << std::endl;

您所要做的就是删除以下定义中的“双重”限定符。请注意,“theta_radian”将对函数(或范围,如果它仅在“if/else”子句下定义)是本地的。

作为下一步,我建议阅读有关基于堆栈与基于堆的定义、指针的内容,然后继续阅读“shared_ptr”。


推荐阅读