endl和‘\n‘的区别 结构体在C和C++中的区别

endl和'\n'的区别

在功能上,endl和'\n'的共同点是都具有换行的作用,但是'\n'的作用就仅此而已了,

endl除了换行外还有清空、刷新缓冲区的作用。

对于“刷新缓冲区”的理解:从键盘输入一段字符,不会立即显示在屏幕上,而是先存入缓冲区,再从缓冲区拿出来这样一个过程,而'\n'没有清空、刷新缓冲区的功能即意味着带有'\n'的语句可能比带endl的语句在屏幕上显示出的速度稍慢。

例:

cout << "hello~" << '\n';
cout << "hello~" << endl;

带endl的语句会显示的快一点。

当然,因为endl比'\n'多一些操作,在效率上endl是慢于'\n'的。

 

结构体在C和C++中的区别

首先结构体的声明在c和c++中没有区别,都是:

struct st
{
    int i;
};

不同有:

1.定义结构体变量的时候有所不同,c:struct st st1;

                                                      c++:st st2;

即在c++中,变量的类型是省略了"struct"的,st1的类型是“struct st”,st2的类型是“st”。

 

2.c++中可以直接在结构体中定义函数,而c只能接受成员是函数指针。

C:

struct st
{
    int i;
    void(*p)();
};

C++:

struct st
{
    int i;
    void fun()
    {
        cout << "hello~\n";
    }
};

3.在c++中,结构体指的是一个“类”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值