cpp怎么把指针赋给指针
时间: 2023-11-02 20:00:41 浏览: 62
要把一个指针赋值给另一个指针,可以使用赋值运算符(=)进行赋值操作。例如,假设有两个指向整数的指针变量ptr1和ptr2,可以使用以下代码将ptr2的值赋给ptr1:
```cpp
ptr1 = ptr2;
```
这样,ptr1和ptr2都指向同一个整数值。注意,在将指针赋值给另一个指针时,它们的类型必须兼容,否则编译器会报错。
相关问题
c++怎么给函数指针赋初值
在C++中,可以通过将函数的地址赋给函数指针来给函数指针赋初值。以下是几种常见的给函数指针赋初值的方式:
1. 直接赋值:将函数的地址直接赋给函数指针变量。
```cpp
// 函数原型
void myFunction();
// 定义函数指针类型
typedef void (*FunctionPtr)();
int main() {
// 定义函数指针变量并赋初值
FunctionPtr ptr = myFunction;
// 通过函数指针调用函数
ptr();
return 0;
}
// 定义函数
void myFunction() {
// 函数体
}
```
2. 使用取地址符 `&`:使用取地址符 `&` 获取函数的地址,并将其赋给函数指针变量。
```cpp
// 函数原型
void myFunction();
// 定义函数指针类型
typedef void (*FunctionPtr)();
int main() {
// 定义函数指针变量并赋初值
FunctionPtr ptr = &myFunction;
// 通过函数指针调用函数
ptr();
return 0;
}
// 定义函数
void myFunction() {
// 函数体
}
```
3. 使用 `std::function`(C++11):使用 `std::function` 类模板可以更灵活地管理回调函数。可以将函数、函数指针、lambda表达式等作为 `std::function` 的参数。
```cpp
#include <iostream>
#include <functional>
// 函数原型
void myFunction();
int main() {
// 定义函数指针变量并赋初值
std::function<void()> func = myFunction;
// 通过函数指针调用函数
func();
return 0;
}
// 定义函数
void myFunction() {
// 函数体
}
```
无论使用哪种方式,都可以将函数的地址赋给函数指针,以便后续通过函数指针调用函数。
阅读全文