美文网首页
小小的知识点C++版

小小的知识点C++版

作者: 斯科特安 | 来源:发表于2014-10-18 11:12 被阅读25次

    关于引用

    引用作函数形参时,不能使用其它方法的返回值作该方法的参数。因为返回值不能被引用。

    比如:

    有声明:

    A getA() const;

    B getB(A& a);

    那么:

    getB(getA()); 则可能会出错。

    说可能出错原因在于编译器,在win32下编译就能通过,并且程序能正常执行。

    在cygwin下编译就会出现 找不到目标函数,不存在A 到 A&的转换这样的错误。

    关于typeid

    在c++中,

    typeid 用于获知一个变量的具体类型。

    注意:

    typeid 是操作符,不是函数!

    关于STL

    命名空间

    所有函数封装在命名空间std中
    stl头文件不使用.h 扩展

    容器类

    • deque
    • list
    • map
    • queue
    • set
    • stack
    • vector

    迭代器

    常用函数

    • sort()
    • copy()
    • find()
    • replace()
    • ostream_iterator(ostream, string)
    • front_inserter()
    • back_inserter()
    • inserter()
    • advance()
    • distance()
    • for_each()
    • find_if()
    • accumulate()
    • random_shuffle() 发生器类
    • count_if()
    • bind1st()
    • bind2nd()
    • not1()
    • not2()

    用法

    copy(v.begin(), v.end(),
    ostream_iterator<int>(cout, "\t"));

    参考:

    三十分钟掌握STL

    关于new delete new[] delete[]

    当delete操作符用于数组时,它为每个数组元素调用析构函数,然后调用operatordelete来释放内存

    关于指针对[]的重载

    MoreEffectiveC++ Item M3提到指针下标的问题。
    文中说C++对指针下标的处理仅仅是简单的加类型大小,若具体基类数组中存在具体派生类对象,那么结果会出错。
    表示很怀疑,是真是假有待验证。

    相关文章

      网友评论

          本文标题:小小的知识点C++版

          本文链接:https://www.haomeiwen.com/subject/gcvptttx.html