【发布时间】:2013-07-02 14:29:14
【问题描述】:
我的 c++ 代码中需要一些预定义的常量 c 样式字符串文字。
我可以在字符串文字上直接使用const_cast<char *> 吗?
IE,对于期望只读 char* 参数的例程,这是否合法(并且是个好主意)?
const_cast<char*>("PIOFLAG")
或者我应该只使用char *pf="PIOFLAG" 并使用pf 作为参数?
【问题讨论】:
-
您是否打算修改这些字符串?如果是这样,您就不能依赖文字是可写的。
-
不,我不需要修改它,只需阅读。但 API 有
char*而不是const char* -
不能使用内置数组吗?
char pf[] = "PIOFLAG";. -
@mfontanini:如果字符串没有被修改,这并没有真正的帮助,但会占用更多空间。