& , * and new

  1. &常用于函数传参“引用传递”,即对形参的改变同步映射到实参,e.g.
void squareN(int& N){
    N*=N;
}

int main(){
    int num=5;
    squareN(num);   //num = 25
    return 0;
}
  1. Type* const地址不可变,内容可变;const Type*地址可变,内容不可变;const Type* const地址、内容都不可变
auto ptr1 = new std::pair();
auto ptr2 = new std::pair;
double* ptr3 = new double[3]{106, 3.14, 3};
delete ptr1,ptr2;
delete[] ptr3;
  1. 指针1被初始化为0,而指针2未被初始化
  2. 指针可改变指向对象,引用不可变,e.g.
double* ptr = π
ptr = &e;   //ptr指向e

double& ref = pi;
ref = e;    //pi = e

 

 

四山便是清凉国,一室可为安乐窝
最后更新于 2025-07-15