【发布时间】:2012-05-04 20:20:13
【问题描述】:
这似乎是一个愚蠢的问题,但我真的需要澄清这一点:
这会给我的程序带来任何危险吗?
const_cast 还需要吗?
如果我更改输入指针值,它会安全地使用std::string,还是会产生未定义的行为?
目前唯一担心的是,每当我修改输入指针并使其无法使用时,这可能会影响字符串“some_text”。
std::string some_text = "Text with some input";
char * input = const_cast<char*>(some_text.c_str());
谢谢你给我一些提示,我想避免拍到自己的脚
【问题讨论】:
-
一般来说,由于
const_cast消除了安全性,你应该尽可能避免它。 -
感谢大家的贡献,我现在明白了,为了安全起见,我应该避免这种情况
标签: c++ const-cast