相关疑难解决方法(0)

为基于模板的代码生成更高质量错误消息的工具?

那些不需要这些工具的概念不是C++ 11的一部分.

有哪些生产质量工具可用于解析源自基于模板的代码的错误消息?Eclipse-CDT支持也很不错.:)

如果我放弃C++ 11,我对C++ 98有什么选择?


相关问题:

c++ templates stl custom-errors c++11

32
推荐指数
3
解决办法
5447
查看次数

C++:为什么const_cast是邪恶的?

我一直听到这句话,但我无法真正找到const_cast是邪恶的原因.

在以下示例中:

template <typename T>
void OscillatorToFieldTransformer<T>::setOscillator(const SysOscillatorBase<T> &src)
{
    oscillatorSrc = const_cast<SysOscillatorBase<T>*>(&src);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用引用,并使用const,我保护我的引用不被更改.另一方面,如果我不使用const_cast,代码将无法编译.为什么const_cast在这里不好?

这同样适用于以下示例:

template <typename T>
void SysSystemBase<T>::addOscillator(const SysOscillatorBase<T> &src)
{
    bool alreadyThere = 0;
    for(unsigned long i = 0; i < oscillators.size(); i++)
    {
        if(&src == oscillators[i])
        {
            alreadyThere = 1;
            break;
        }
    }
    if(!alreadyThere)
    {
        oscillators.push_back(const_cast<SysOscillatorBase<T>*>(&src));
    }
}
Run Code Online (Sandbox Code Playgroud)

请给我一些例子,我可以看到使用const_cast是一个坏主意/不专业.

谢谢你的任何努力:)

c++ pointers casting const const-cast

14
推荐指数
3
解决办法
9538
查看次数

标签 统计

c++ ×2

c++11 ×1

casting ×1

const ×1

const-cast ×1

custom-errors ×1

pointers ×1

stl ×1

templates ×1