![]() |
1
2
在这里使用字符串文字是非常好的。 指针参数(或由参数指向的指针数据)是否指向常量限定类型与函数是否可以修改指向对象无关。这纯粹是有关职能的契约问题。作为惯例,当不修改对象时,通常最好在参数中使用常量限定指针:
但在c语言中没有这样做的要求。对于在接口中使用双指针类型的函数,这里通常有一个折衷方案。自从
一般来说,当涉及到标准函数(c或posix)时,它们
不能有任何可观察到的副作用,除非指定
. 除非其将修改“属于”应用程序或应用程序有权访问的对象的功能文档说明,否则不能修改该对象;这样做不符合要求。这就是为什么返回指向静态存储的指针的函数显式地记录它的原因。例如,posix文档
如果没有此类文档,应用程序可以假定
自从
此外,请注意
|
![]() |
2
1
POSIX似乎并没有说这些数组是被修改的,但我很有信心现有的实现不会修改它们。使用不同参数(和可执行文件名)可能有一些原因,但是这些原因
如此
|
![]() |
3
1
考虑到,存在技术故障风险
备选方案
尽管有
现在
|
![]() |
MaPo · Linux,设置锁定ICMP_过滤器选项 6 月前 |
![]() |
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 6 月前 |
![]() |
Bobby · 复合字面值总是左值吗? 7 月前 |
![]() |
9-Pin · C: 嵌套结构的堆栈内存分配 7 月前 |