1. 程式人生 > >C++與C區別隨筆記錄

C++與C區別隨筆記錄

1、全域性變數

#include <stdio.h>

int a=100;
int a;

void main()
{
    printf("%d\n",a);
}

//C語言中以上寫法是可以的

#include <iostream>
using namespace std;

int a=100;
int a;

void main()
{
    cout<<a<<endl;
}

////C++語言中以上寫法是不可以的

2、struct

#include <stdio.h>

struct TT
{
    int age;
};

void main()
{
    struct TT t;
}

//C語言中定義結構體物件struct不能省略

#include <iostream>

using namespace std;

struct TT
{
    int age;
};

void main()
{
    TT t;
}

//C++語言中定義結構體物件struct可以省略

3、表示式

#include <stdio.h>

void main()
{
    int a,b;
    (a>b?a:b)=20;
}

//C語言中三目表示式返回的是一個數,不能作為左值

#include <iostream>

using namespace std;

void main()
{
   int a=1,b=2;
   (a>b?a:b)=100;
}

//C++語言中三目表示式返回的是一個變數,能作為左值

4、const

#include <stdio.h>

void main()
{
    const int a=100;
    int *p=NULL;
    p=&a;
    *p=200;
}

//C語言中const的值會被修改

#include <iostream>

using namespace std;

void main()
{
   const int a=100;
    int *p=NULL;
    p=&a;
    *p=200;
}

//C++語言中const的值不會被修改