-2

我知道 C++,所以如果有人能帮助我解决这些 TorF 问题,那就太好了。

对或错:使用 C++,类的复制构造函数仅在将值传递给函数输入时使用。

对或错:以下 C++ 函数madeA()是有效的函数实现。

ClassA{
public:
    int x;
    char *y;
};
void madeA(const A &t_a){
    t_a.x = 1;
    t_a.y = 0;
}

对或错:以下 C++ 代码段是等效的。

void cmax(int a, int b, int *max){
    if(a>b) *ax = a;
    *max = b;
}

using namespace std;

void main(){
    int *max = new int;
    cmax(20, 5, max);
    cout<< *ax << endl;
}

下一个代码:

void cmax(int a, int b, int &max){
    if(a>b) max = a;
    max = b;
}

void(){
    int max;
    cmax(20, 5, ax);
    std::cout <<max<<std::endl;
 }
4

1 回答 1

1

第一:假
拷贝构造函数可以在需要拷贝的任何时候被调用。
简单示例:按值返回

第二:假
您正在修改对const参数的引用的内容。它不应该编译,即使你使用一些指针黑客,它也会导致Undefined Behavior

第三:假
首先有内存泄漏,其次没有。
第二个代码片段甚至无法编译。

于 2012-12-11T04:20:22.757 回答