<分区>
假设我想使用包含这两个 header 的库:
// types.h
typedef const char* Value;
typedef const char* Key;
// map.h
/** The given name and value will be copied into the map */
void add(struct Map* m, Key key, Value value);
我假设注释意味着 char*
的 key
和 value
的内容将被 复制add
函数,返回后不保存指针以供使用。这意味着调用函数可以用这些指针做任何它想做的事情,比如释放
key
和 value
,在调用 add
之后。
调用函数还可以期望add
不会修改key
或value
。
现在,如果该评论不存在并且既没有实现源也没有使用示例,那么对于这些所有权问题,经验丰富的 C 程序员会怎么想?