gpt4 book ai didi

c - 在函数原型(prototype)中的 char * param 中添加/*const*/而不是 const 限定符

转载 作者:太空宇宙 更新时间:2023-11-04 01:44:44 24 4
gpt4 key购买 nike

我遇到一个函数,它接受一个指向 char 数组的指针,但它只对 char * 指向的内存执行读取操作。

我可以直接在 char * 参数之前将 const 添加到原型(prototype)中,但这会破坏其余的非 const 正确代码。我决定添加注释 /*const*/ 来指示该函数只执行读取操作。

然而,这让我的同事感到困惑,我想知道添加评论是否是一种常见的做法,批评是没有道理的。

例子:

int func(const char *readat);

对比

int func(/*const*/ char *readat);

最佳答案

const 添加到函数参数不会破坏任何调用代码。允许将非 const 对象分配给 const 对象。

所以这是允许的:

char c;
char *p = &c;
const char *cp = p;

但这不是:

char c;
const char *cp = &c;
char *p = cp;

关于c - 在函数原型(prototype)中的 char * param 中添加/*const*/而不是 const 限定符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55848615/

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