请问什么是“位操作”?为什么析构函数必须得是虚的?“extern "c"”的具体含义?一个函数中malloc后,是否可以在函数外面再free?哪里有还有此类C++问答,请教,谢谢!!

解决方案 »

  1.   

    位操作就是对byte进行操作。
    析构函数为virtual,便于编程人员根据自己的需要进行重载。
      

  2.   

    位操作就是对二进制位BIT操作extern c 表示用C的命名转换方法,下划线方式如果可以在函数外部访问MALLOC的返回指针,当然可以外部释放.
    如: void * p = NULL;
        int Fun()
    {
        p = malloc(...);
    }if( p!= NULL)free( p );
      

  3.   

    位操作:直接对二进制位进行的操作,例如 & | ~ >> <<等运算符都可以对位进行操作。注意这里<<和<<是移位运算符,而不是输入输出运算符。
    extern "C"用来向连接器表明,以下的外部符号直接按照其名称引用,不要使用C++的方法将它编码。默认情况下,C++编译器会为每一个函数的名称进行编码,以便在函数名中加进许多信息例如参数的个数和类型,返回值的个数和类型等。
    malloc就是设计成在外部释放的。如果不需要外部释放,就不必使用它,用_alloca好了。这个不需要释放,使用更方便,但不能在函数外面使用它。如果写C++程序,最好不用它,用new/delete,这样也可以外部释放,但还能保证调用构造/析构函数。
      

  4.   

    更正:我说的是“位赋值”,不知道这个概念是什么意思?
    关于alloc,
    void * p = NULL;
        int Fun()
    {
        p = new (...);
    }if( p!= NULL) delete ( p );不是也可以吗?那alloc和new两种方式有什么区别呢?谢谢!!!
      

  5.   

    new 可以负责调用对象的构造函数,他不仅仅给你内存
    malloc 则不能调用构造函数,他紧紧给你分配内存
    ============================================================================
    DocWizard C++程序文档自动生成工具 http://www.betajin.com/alphasun/index.htm
      

  6.   

    new 可以负责调用对象的构造函数,他不仅仅给你内存
    malloc 则不能调用构造函数,他紧紧给你分配内存
    ============================================================================
    DocWizard C++程序文档自动生成工具 http://www.betajin.com/alphasun/index.htm