小编bat*_*ger的帖子

默认参数中的 C++ new 运算符及其副作用

我有一个关于 C++ 中默认参数的问题。如果我有这样的功能:

int foo(int* obj = new Int(4)) {
    /* Stuff with obj. */
}
Run Code Online (Sandbox Code Playgroud)

当然,现在整数仅用作示例,但问题是我是否要为参数提供一个值,如下所示:

int x = 2;
foo(&x);
Run Code Online (Sandbox Code Playgroud)

obj = new Int(4)即使我为参数提供了一个值并因此分配了我无法再读取的内存,该表达式是否仍会被计算?

c++

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

标签 统计

c++ ×1