这两个示例中“ ++ value”之间的区别

时间:2020-08-18 10:41:06

标签: c++

#include<iostream>
#define LOG(x) std::cout<<x<<std::endl
void increment(int value)
{
    ++value;
    
}
int main()
{
    int a = 6;
    increment(a);
    LOG(a);
    std::cin.get();
}

我按F11键并调试到“增量”功能。该功能的参数等于6。但是为什么“值++”不起作用。我知道它称为“按值传递”,但是我认为本地值应该改变身体的功能。

#include<iostream>
    #define LOG(x) std::cout<<x<<std::endl
    void increment(int& value)
    {
        ++value;
        
    }
    int main()
    {
        int a = 6;
        increment(a);
        LOG(a);
        std::cin.get();
    }

在这里,我通过引用和值加一传递。这是因为编译器无法获取“ ++ value”的地址,因此将其丢弃,很抱歉第一次提交。

0 个答案:

没有答案