c++对c的提升

目录:

c和c++中布尔类型的区别

c和c++中三目运算符的区别

引用在c++里的应用

c和c++中布尔类型的区别:

c中布尔类型bool其实是int型只不过规定了为0或1;
c++中bool可取的值只有true和false两个关键字。
c++中理论上bool只占用一个字节,有的编译器可以对多个bool变量分别给到同一个字节的不同bit位上。

c和c++中三目运算符的区别:

当三目运算符的可能返回都是变量时,返回的是变量引用。
当三目运算符的可能返回中有常量时,返回的是值

int a = 1;
int b = 2;
(a  < b?a : b) = 3;//正确,返回a或b的引用,可以作为右值使用。a < b? 1:b) = 3;//错误,可能返回中有常量,返回的是值 ,不能作为右值使用。

引用在c++里的应用:

引用只是在c++里面应用。
引用的语法:
type& name = var;
引用的类型应该与变量类型一样。

当使用常量对const引用进行初始化时,c++编译器会为常量分配空间,并将引用名作为这段空间的别名。别名称为只读变量。

引用int&a == int* const a;

void f(int& a)
{
a = 5;
 }

void g(int* const a)
{
*a = 5;
 }

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_37272520/article/details/82465910
今日推荐