const的活用

来源:互联网 发布:万科物业软件 编辑:程序博客网 时间:2024/06/05 13:26
    想找个地方把看到的东西写下来,免得以后忘了,本来这些都属于技术性问题应该整理到csdn上面,但刚刚注册号码确要等到三日后才能发文~~~郁闷了~~
   C++语法按照《高效C++》编程书上面提到的分为四个部分: C、C with Class、 template、STL, 其代码的执行效率一次降低,不过通过很好的综合,可以将资源最大化,执行效率也会提高很多。看了看之前自己做的东西,自己在四个方面虽然有所接触但还是感觉生搬硬套,不能活用。最近重新翻开此书发现,自己原来不懂C++。
   先来段C++精彩的, const char*const name = "susan"; 
                                    char const * const  name = "susan";
                                   char*const  name = "susan";
                                  const char* name = "susan"; 
  额的个神啊,这是C++最基础的,我的理解是   const 后跟定的对象一个是绑定指针,一个是绑定内容。如果绑定了内容,则内容不能变,如果绑定了指针,则指针不能变。这样理解终于记住了所有。
   关于这个const最有意思的是在某个类的成员函数出现,精彩程度就更加迷人了。
Class People
{
    public:
               const int getAge( ) const ;  //  函数结束后来这么一个,晕了。
  private:
               int  age;
};
    后来仔细看书才明白了这里的getage函数里面不能更改成员变量,age成员变量在这个getage里面值不能变哇。
   操作符重载写成这样也可以:
 
class Text{  //类里面
char &operator[](std::size_t position)const
{
   return text[position);
}
char &operator[](std::size_t position)
{
   return
            const_cast<char&>(
               static_cast<const Text&>(*this)[position]);               //
}
};
 
原创粉丝点击