gpt4 book ai didi

c++ - 在这种情况下如何正确执行 const_cast ?

转载 作者:太空宇宙 更新时间:2023-11-04 15:24:57 26 4
gpt4 key购买 nike

我有一个函数

static bool Validate(const char& letter, string& aWord)

我需要调用它

Validate(letter, aWord); // where aWord is const

在这种情况下,const_cast 的正确方法是什么?

最佳答案

如果您绝对确定该函数不会修改字符串,您可以这样做:

Validate (letter, const_cast<std::string &>(aWord));

但是,如果假设可以将签名更改为 const,尽管这是一个不必要的拷贝,但更安全的做法是复制字符串并传递拷贝。

std::string copyOfAWord = aWord;
Validate (letter, copyOfAWord);

如果它确实改变了某些东西,您的拷贝将取而代之的是结果,但它首先会破坏您的逻辑。

关于c++ - 在这种情况下如何正确执行 const_cast ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10867455/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com