在同个类中non-const插入const来减少重复

Posted Kooing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在同个类中non-const插入const来减少重复相关的知识,希望对你有一定的参考价值。

class A
{
private:
    std::string a;
public:
    A(std::string b) :a(b){}
    const char& operator[](int b)const
    {
        std::cout << "const"<<std::endl;
        return a[b];
    }
    char& operator[](int b)
    {
        std::cout << "non-const" << std::endl;
        return
            const_cast<char &>                         //分两部分,一部分是消掉const
          (static_cast<const A&>(*this)[b]); //这部分是使得non-const函数的代码可以使用const的代码,以减少重复操作。 } };

 

以上是关于在同个类中non-const插入const来减少重复的主要内容,如果未能解决你的问题,请参考以下文章

Java高级特征

boost::const 和 non-const 的变体

向下转换并同时从 const 转换为 non-const

Using Swift with Cocoa and Objective-C--在同个project中使用Swift和在同个project中

在同个工程中使用 Swift 和 Objective-C(Swift 2.0更新)-b

为啥 boost::interprocess::managed_shared_ptr to non-const 不能转换为 managed_shared_ptr to const