【发布时间】:2013-01-05 02:57:25
【问题描述】:
目前我正在开发一个 C++ 应用程序,我希望它是 const 正确的。意味着尽可能在参数上使用 const 之类的东西。然而,这个 C++ 应用程序使用了一个不经常使用 const 的 C 库。我遇到的问题是,当向 C 库中的函数发送参数时,参数不能是 const,所以我不得不进行强制转换。
使用 const cast 有损于我一直在努力的整个 const 正确性。当使用 const 不正确的 C 库时,您是否只是顺其自然而不使用 const 正确性以便轻松使用这些库?或者有没有更好的方法我没有看到?请注意,这是一个相当小的程序,因此隔离使用该库的部分并仅使该部分不正确不是真正的选择。
【问题讨论】:
-
如果您绝对确定它不会修改参数,您可以使用
const_cast,但您始终可以只复制一份。 -
更适合程序员 IMO,因为 SO 不是针对编码风格,而是针对编码问题。
-
@chris 我无法对其进行安全复制。
标签: c++ constants const-correctness