C++与C的区别
2021-08-12 本文已影响0人
李永开
一.区别
- c++面向对象,c面向过程
二. 三目运算符
#include <iostream>
using namespace std;
int main(int argc, const char * argv[]) {
//三目运算符: c ++返回的是变量,而不是值
int a = 10;
int b = 20;
(a > b ? a : b) = 100;
cout << "a==" << a << " b==" << b << endl;
//a==10 b==100
// (a < b ? a : b) = 100;
// cout << "a==" << a << " b==" << b << endl;
// //a==100 b==20
//c语言写法
*(a > b ? &a : &b) = 100;
return 0;
}
三.const加强
c: 可以用指针指向局部变量,然后*p修改局部变量的值
c++ : 不能像c语言那样修改const修饰的变量的值
- 原因:c语言中const修饰的变量,是伪常量,编译器会分配内存,所以能修改。
而c++中,const不会分配内存。
四.const链接
- c: c语言中const默认外部链接,在一个文件中
const int a = 10
,可以在任意地方extern const int a
- c++: const默认内部链接,需要在声明的地方加上extern才行。在一个文件中
extern const int a = 10
,加上了extern
,才可以在任意地方extern const int a