C语言中void*指针的微妙用途有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计673个文字,预计阅读时间需要3分钟。
原文:本篇文章主要给大 家分享了关于C++中void*的一些你可能不太理解的小作用,分享出来供大家参考学习,下面不多说 了,一起来 看看详细的介绍吧。
修改后:本文主要介绍C++中void*的一些不常见用途,供大家学习参考。详细内容如下。首先,让我们看一段代码:
本文主要给大家分享了关于C++中void*的一些你可能不了解的小作用,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
先来看一段代码:
#include <iostream> #include <string> using namespace std; void o(int* x, void* y){ cout << *x << endl; cout << x << endl; cout << *(int*)y << endl; cout << (int*)y << endl; } int main() { int a = 1, b = 2; o(&a, &b); }
我们看上面的小代码,函数o传入两个地址,一个是a,另一个是b,我们先来看看输出的情况:
1 0x7038f28b8e98 2 0x7038f28b8e9c
首先最简单的,*x表示取值,所以输出了1,接着x表示&a,也就是a的内存地址,所以我们可以看到输出了一个地址。这些都是基础,比较简单。
本文共计673个文字,预计阅读时间需要3分钟。
原文:本篇文章主要给大 家分享了关于C++中void*的一些你可能不太理解的小作用,分享出来供大家参考学习,下面不多说 了,一起来 看看详细的介绍吧。
修改后:本文主要介绍C++中void*的一些不常见用途,供大家学习参考。详细内容如下。首先,让我们看一段代码:
本文主要给大家分享了关于C++中void*的一些你可能不了解的小作用,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
先来看一段代码:
#include <iostream> #include <string> using namespace std; void o(int* x, void* y){ cout << *x << endl; cout << x << endl; cout << *(int*)y << endl; cout << (int*)y << endl; } int main() { int a = 1, b = 2; o(&a, &b); }
我们看上面的小代码,函数o传入两个地址,一个是a,另一个是b,我们先来看看输出的情况:
1 0x7038f28b8e98 2 0x7038f28b8e9c
首先最简单的,*x表示取值,所以输出了1,接着x表示&a,也就是a的内存地址,所以我们可以看到输出了一个地址。这些都是基础,比较简单。

