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”的地址,所以会被丢弃,抱歉第一次提交。
解决方案
推荐阅读
- javascript - SQL query based on select option
- excel - Excel VBA import several TXT file delimited text into sheet
- python - Django - Filter based on nested sum of related values
- azure-cosmosdb - Cosmos DB - How to access fields that have a space in their name?
- javascript - How to export content as a doc file from a text area?
- php - Class not found while using composer and docker
- python - Getting "ImportError: cannot import name ..." when importing variable from other script
- scala - 将配置添加到 Scala 中的单例对象
- css - 如何将 mat-table/table 内容与单元格顶部对齐?
- python - 我可以按距头部的距离水平对齐 pydot 图吗?