zoukankan      html  css  js  c++  java
  • c++ 编程调试秘笈

    美.Vladimir Kushnir . O’REILLY. 人邮 .2013.1


    c++大部分缺陷来源于c

    MyClass* object = new MyClass();

    delete object;

    MyClass* array = new MyClass[numbers];

    delete []array;

    可以从std::vector 派生新类吗?

    继承一个没有虚析构函数的类是危险的[整理]

    一个没有虚析构函数的类意味着不能做为一个基类。如std::string, std::complex, 和 std::vector 都是这样的。当你公有继承创建一个从基类继承的派生类时,指向新类对象中的指针和引用实际上都指向了起源的对象。因为析构函数不是虚函数,所以当你delete 一个这样的类时,C++就不会调用析构函数链。

    vector 的灾难 , 如果将更大的数放进vector 它会重新分配一个更大的空间,而地址完全乱了. 指针 引用 都是一样. 迭代器的情况 相同 .所以,在修改了容器之后, 不要再保存指向容器内元素的指针,引用 或迭代器  

            

    不要使用int  改用Int .

    不要使用 unsigned  改用 Unsigned

    不要使用 double 改用 Double


    内存泄漏

    引用计数指针

    作用域指针

    用智能指针


    解引用 NULL指针


    拷贝构造函数和赋值操作符


    避免在析构函数中写代码


    怎样编写一致的比较操作符


    标准c函数库的错误


  • 相关阅读:
    Java运算符号,对象赋值,别名
    斐波那契数列的应用
    递归问题------汉诺塔
    字符串变量小议
    编程题之合并两个有序的数组
    线程/进程的区别之小议(二)
    线程/进程的区别之小议(一)
    OSI 七层模型
    TCP/IP 四层模型
    c语言程序开发过程,编译的完整过程
  • 原文地址:https://www.cnblogs.com/iamgoodman/p/3214524.html
Copyright © 2011-2022 走看看