C/C++ 程序基础 (一)基本语法

  1. 域操作符: C++ 支持通过域操作符访问全局变量,C不支持(识别为重定义)
  2. ++i和i++的效率分析:
    • 内置类型,无区别
    • 自定义数据类型,++i可以返回引用,i++只能返回对象值(拷贝开销)
  3. 浮点数与0的判断
    • if(x >= -epsinon || x <= epsinon)
  4. 不借用中间变量的swap实现。
    • 借助和
    • 借助异或(相同为0,不同为1)
      // 借助和(存在溢出风险)
      void swap(int& a, int &b)
      {
         a = a + b;
         b = a - b;
         a = a - b;   
      }
      
      // 借助异或
      void swap(int& a, int& b)
      {
         a = a^b;
         b = a^b;
         a = a^b;
      }

       

  5. C和C++区别
    • C实现了C++中过程化控制和其他功能
    • C++中的C部分引入了重载,内联函数和异常处理。C++加入了面向对象设计的内容,如类、继承、封装、虚函数、模板、包容器类等。
    • 注意:C++拥有面向对象特性,但不是真正面向对象化的(java)。
  6. extern "C"
    • 使用C库内声明的变量和函数。编译阶段只需要头文件,链接时寻找匹配的定义。
    • 说明内部变量或函数是按照C的标准编译、链接,解决名字匹配问题。
posted @ 2018-03-26 09:39  niuxu18  阅读(255)  评论(0)    收藏  举报