【发布时间】:2015-04-16 15:52:09
【问题描述】:
我的问题涉及像 memset 和 strcat 这样的方法,它们返回作为参数传递的指针。例如:
案例一:
const char *src = /*assign space*/;
char *dst = /*assign space*/;
dst = strcat(dst, src);
案例 2:
const char *src = /*assign space*/;
char *dst = /*assign space*/;
strcat(dst, src);
情况 2 是否被认为是不安全的冒险被调用的函数更改了指向的内存。是否应该始终使用案例 1 的显式重新分配?
如果要使用案例2,可以变体:
char * const dst = /*assign space*/;
用于确保调用后指针保持不变?
【问题讨论】: