我的 C++ 代码中需要一些预定义的常量 C 风格字符串文字。
我可以使用 const_cast<char *>
吗?直接在字符串文字上?
I.E.,对于期望只读 char*
的例程来说,这是否合法(并且是个好主意)?争论?
const_cast<char*>("PIOFLAG")
或者我应该只使用 char *pf="PIOFLAG"
并使用 pf
作为论据?
最佳答案
如果该字符串用于采用 char *
的 API但实际上并没有修改字符串本身,然后 const_cast<char *>("SOME STRING")
会没事的。理想情况下,您会修改 API 使其具有 const
参数代替,这将使它更容易使用,并反射(reflect)现实。
关于c++ - 将 const_cast 应用于字符串文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17428288/