c++ - 将 const_cast 应用于字符串文字?

标签 c++ string constants

我的 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/

相关文章:

c++ - 如何在不使用类次的情况下找到 TMax

c++ - 在 C++ 中搜索 CString

string - Golang 将 base64 数据解码为字符串

php - 在第 35 行通知 : Undefined index: $error in C:\wamp\www\btb_sandbox\upload_2. php

string - 将 sizeof() offsetof() 宏的结果嵌入到 const char 数组中?

c++ - 在 C++11 中使用 std::function 作为委托(delegate)

c++ - 将无符号字符按位左移 16 是什么意思

c++ - 如何在函数中初始化 CString& 参数

c++ - 在 C++ 中验证 GPS 字符串的最简单方法?

Perl : constant & require