欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

两则简单的笔试题 引用传递&值传递&指针传递 + 其他

程序员文章站 2022-06-04 16:58:13
...
#include <iostream>
using namespace std;

int a(int m) {return ++m;}
int b(int &m) {return ++m;}
int c(int *m) {return ++(*m);}
int main()
{
    int  p = 0,aa = 10;
    cout << "Hello"<<(aa<<1)<<" World!"; // aa * 2 = 10
    
    //p = a(b(c(&p))); //error
    p = a(233); //pass

    cout<<p<<endl;
    p = c(&233); //error
    cout<<p<<endl;
    p = b(p); //error
    cout<<p<<endl;


    return 0;
}

全部写一起了,希望之后的小伙伴不会错了呀

 

<<可作为左移算符 (向左移一位,右边自动补0)

10001011 << 1=

00010110 = 22

相当于二进制的每个数都变成当前值的两倍,结果就是变成当前值的两倍,速度比乘法快。