• C与C++的部分区别


    1.函数无形参情况

     1 void test()
     2 {
     3     
     4 }
     5 
     6 int main()
     7 {
     8     test(1,2);
     9     
    10     return 0;
    11 }

    在C语言中形参括号没有参数时代表接受任意多的参数,而在C++语言中代表void(无参数)

    所以上述函数在C文件中不会报错,并且成功的调用,但是在C++中会报参数过多的的错误

    2.结构体struct

    在C语言中并没有面向对象的概念,但是C++中的类class衍生于C语言中的struct,所以,C++中的struct实质上为成员和函数全为public的类,也可以定义构造函数等

    1 struct test        class test
    2 {           {
    3     int i;      public:
    4     int j;          int i;
    5 }                 int j;
                 }

     3.const变量

    C语言中const变量只是将变量变成只读变量,C++中const将变量变为常量(与define)相同,但是类成员中const成员是只读变量

    只读变量与常量的区别,他们都不能直接修改,但是只读变量可以通过指向他的指针来修改他的值,而常量不准任何方式修改

    1 const int i=0;
    2 
    3 int *p=(int *)&i;
    4 
    5 *p=2;

    C中可行,C++类成员变量可行,但是C++其他变量不可行

     4.函数标识区别

    C语言中通过函数名唯一标识函数,所以不存在函数重载,C++中通过函数名参数列表来标识函数,所以函数名相同是可以的,即函数重载

    PS:此随笔长期更新

  • 相关阅读:
    M3U8文件
    线程间的通信方式以及线程与进程的区别
    string类的实现
    进程间的通信方式
    GDB调试多线程
    面向对象与面向过程的优缺点
    同步与异步,阻塞与非阻塞的区别
    计算机cpu、寄存器、内存区别
    Linux下Makefile中动态链接库和静态链接库的生成与调用
    使用session来存储用户的登录信息
  • 原文地址:https://www.cnblogs.com/cdp1591652208/p/7296386.html
Copyright © 2020-2023  润新知