关于运算符重载和stl的心得体会

    在最近的c++学习中,我接触到了类学习中的重载运算符,还有c++中的stl。下面写一下关于这两个内容的心得体会。
    首先是重载运算符,通过以前的学习可以知道,定义的变量可以比较大小,无论是整数型(int)变量还是字符型(string)变量,都能比较大小。不仅仅是比较大小,还可以进行运算。
那么就有问题了,我们定义的类可以进行这些操作吗?答案是肯定的。其实,所谓的起始的变量类型的运算法则是内部已经定义好的,比如int比较两个数字的大小,两个数字的相加、相乘。还有字符string
的比较ascii码,都是在编写语言中存在的。我们定义的类也可以进行加减乘除,比较大小等运算。只不过,比较方式与运算方式需要我们自己定义。这就引出了运算符重载。通过类内对运算符进的构造,
来实现通过运算符来操作类。举个例子,比如时间。我们比较时间,大小的话按照年月日依次向下比较。此时如果重载运算符的话,只需要写一个关于先比较年,如果年分相等在比较月,依次向下的程序
就可以在主函数中直接用“>”或者“<”来比较年份的大小。
    集中运算符重载的格式:
    1.类型 类名::operator op(参照表)
      {
//相对于该类定义的操作
       }
     2.在类的内部
      class 类名
      {
        类名 operator 符号(类名 变量) 
       }操作数
    重载运算符有几个注意事项:1.并不是所有运算符都可以重载。2.不能改变运算符的优先级。3.不改变运算符的结合性。4.不改变运算符所需要的操作数。
    然后是关于stl的内容。。
    关于stl:1.STL是C++标准程序库的核心,深刻影响了标准程序库的整体结构
             2.STL由一些可适应不同需求的集合类(collection class),以及在这些数据集合上操作的算法(algorithm)构成
             3.STL内的所有组件都由模板(template)构成,其元素可以是任意类型
             4.STL是所有C++编译器和所有操作系统平台都支持的一种库
    我关于stl的认识:初次用stl应该是使用sort函数了。这个爱不释手的函数当初用就是感觉简单,迅速。但是当时只知道函数的使用,还有只知道这是c++里的“隐藏函数”,就是c++中内部定义的函数。
他的头文件是#include。当学习了stl,才知道,这个sort函数值是stl其中算法中的一部分。这应该就是初识stl的内容。
     STL组件
     容器(Container) - 管理某类对象的集合
     迭代器(Iterator) - 在对象集合上进行遍历
     算法(Algorithm) - 处理集合内的元素
     容器适配器(container adaptor)
     函数对象(functor) 
     从上面可以看出,当时所用的sort只是其中一个组件的一种。还有老师讲过的关于vector的使用,能更好的运用函数。
     关于stl,自己到现在也没能深入的了解其中的内容,只是略懂一些表面知识。总之在以后的程序中多使用stl的内容来完善程序吧。
     加油!!

你可能感兴趣的:(关于运算符重载和stl的心得体会)