C++学习2 | 布尔类型bool、内联函数inline

1.bool,布尔类型

  • 非0即真,0即假
  • true为真,本质是1;false为假,本质是0
  • 任何基本类型都可以隐式转换为bool类型
  • boolalpha -> 相当于一个开关,表示开,打印true和false
  • noboolalpha -> 表示关,关闭后打印 0||1
    bool a = false;
    cout << a << " " << boolalpha << a << endl;
    a = 20;
    cout << noboolalpha << a << endl;
    a = *("abc"+3); // 0->a 1->b 2->c 3->\0
    cout << boolalpha << a << endl;

// 顺便复习一下:
/*
     这三种意思相同
     a = *("abc"+3);
     a = "abc"[3];
     a = 3["abc"];*/
    
*/

 

2.inline,内联函数

     内联 inline: 和#define很像

     用已被编译好的二进制代码,替换对函数的调用,避免调用开销(栈区到代码区的调用)

     使用inline关键字期望该函数被优化内联,不过是否内联由编译器决定

     inline会使占用内存变大

     复杂的函数和递归不可以用内联,递归是调用自己,会占用非常大、非常大、非常大的内存空间。

inline int Max(int a,int b){
    return a>b?a:b;
}
int main()
{
    Max(10,20);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Hanoi_ahoj/article/details/81414764