c++ - 如果 C/C++ 指针是 "just"地址,为什么需要类型?

标签 c++ c

我无法理解指针需要“类型说明符”的原因。在我看来,它们只是指针,因此它们的类型可能就像“ptr”一样,在 32 位机器中,我希望它们每个占用四个字节的内存,无论它们指向什么。

当我需要检索特定变量(int 或 double 等...)时,编译器根据某个变量的类型,会知道应该检索“多少”字节才能获得整体。我可能缺少一些逻辑,希望得到您的意见。

示例:

#include "pch.h"
#include <iostream>

int main()
{
    ptr *value; // Why is this ILLEGAL?
    int test = 15;
    value = &test;

    std::cout << *value;
}

最佳答案

能够说出你对里面的期望。它指向内存的类型化部分。

否则,对指针(而不是地址本身)的所有操作都将只是盲目地跟随线索。

关于c++ - 如果 C/C++ 指针是 "just"地址,为什么需要类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55158182/

相关文章:

c - 'C' 中变量和指针的字符串连接

C++如何将内存中的文件流保存到另一个位置

c - 用 C 编写代码将 Decimal 转换为任意基数 我哪里出错了

c++ - 带有 cin 实现问题的指针

c++ - 局部静态变量的销毁

c - 如何从 C 中的父进程分离 fork 进程

c - PulseAudio 异步库如何用于播放原始 PCM 数据?

c - void *function() 应该使用什么返回类型?

c++ - 为 CString 创建 unordered_map 作为键

c++ - 什么是模板 <> 内联 bla bla