![]() |
1
3
在强类型语言中,所有数据都有一个类型,因此不存在“void”作为数据类型的概念。在C和C++中,它的含义是“无数据”(作为返回值),或者“不知道类型的数据”(作为指针目标)。 您提出的中间状态是“您不知道其类型但知道其大小的数据”,可能是您通过值传递的类型的不透明版本。除了这是一件相当危险的事情(因为在更改实际类型的大小时必须使用不透明类型手动更新所有代码)之外,还可以在不向语言添加奇怪扩展的情况下完成这项工作,例如:
这个
能够
|
![]() |
2
8
|
![]() |
3
2
什么是空虚?什么都不是,空虚。嘿,哈哈! void用于指定不返回任何内容的函数。在其他语言中有关键字“procedure”或“sub”。指向void的指针是指向unknown的指针(void的第二个用法)。这是两个目的。 更新:我想,作者想用已知的大小指定未知类型。void32*是指向某个大小为32位的实体的指针,void8*是指向8位实体的指针,依此类推。但是它很容易用int32*,char*模拟,而不需要语言扩展。 |
![]() |
4
2
你要找的东西已经存在了。它被称为
关键点
当然,还有一个有趣的小问题: 这里的T型是什么?
|
![]() |
5
2
“void”数据类型的含义是什么?我不认为有一个有效的,所以这可能是它不存在的原因。 |
![]() |
6
0
我猜您指的是一个数据类型,它的功能可能类似于void类型,但您可能希望更改名称,而不是将其称为void。 |
![]() |
7
0
你所描述的东西可以从中转换。因此它包含信息。因此,它不是一个空洞。
你所描述的只是一个简单的例子
|
![]() |
8
0
退一步:C和C++相当一致地认识
同时请注意
所以,我认为答案是:这将是毫无意义的。
|
![]() |
9
0
我想你应该看看工会。联合体保留足够的空间来容纳联合体中最大的成员,然后根据您引用联合体的方式,选择“适当”的空间量,并根据您请求的类型将其提供给您。 也就是说,就像将一个字符数组转换为实际要查找的类型一样,在使用这种功能之前,您应该仔细考虑。 |
![]() |
10
0
如果有一个空的数据类型,我认为它应该不代表任何东西,只是吞下存储在其中的任何东西。 你可以说
或
和作为函数参数
我可以在一些模板编码中看到这种用法。 |
![]() |
Jiji · 将简单对象强制转换为简单的通用接口 7 年前 |
![]() |
tobeypeters · 反射铸造 7 年前 |
![]() |
Alex · 是否改为存储字符串的整数的通用ArrayList? 7 年前 |
![]() |
Kai · 如何在C#中转换会话中存储的词典? 7 年前 |
![]() |
Ján ЯabÄan · 布尔值到双精度的快速转换方法 7 年前 |