gpt4 book ai didi

c++ - const 指针(与指向 const 对象的指针相反)有什么用?

转载 作者:IT老高 更新时间:2023-10-28 12:46:30 26 4
gpt4 key购买 nike

我经常使用指向 const 对象的指针,像这样......

const int *p;

这仅仅意味着你不能通过p改变p所指向的整数。但我也看到了对 const 指针的引用,声明如下......

int* const p;

据我了解,这意味着指针变量本身 是常量——您可以整天更改它所指向的整数,但不能让它指向其他东西。

那有什么可能的用途?

最佳答案

当您为嵌入式系统设计 C 程序或需要引用同一内存的特殊用途程序(共享内存的多处理器应用程序)时,您需要常量指针。

例如,我有一个 32 bit MIPs processor有一个 little LCD附在它上面。我必须将 LCD 数据写入内存中的特定端口,然后将其发送到 LCD Controller 。

我可以#define 该数字,但我还必须将其转换为指针,而当我这样做时,C 编译器没有那么多选项。

此外,我可能需要它是 volatile 的,也可以强制转换,但使用提供的语法更容易和更清晰 - 一个指向 volatile 内存位置的 const 指针。

对于 PC 程序,一个例子是:如果你设计 DOS VGA 游戏(网上有教程很有趣,可以学习基本的底层图形),那么你需要写入 VGA 内存,可以引用作为 const 指针的偏移量。

-亚当

关于c++ - const 指针(与指向 const 对象的指针相反)有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/219914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com