小编Mra*_*dav的帖子

解释这个C程序的输出?

#include<stdio.h>
#define CUBE(x) (x*x*x)

int main()
{
int a, b=3;
a = CUBE(++b);
printf("%d, %d\n", a, b);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

此代码返回的值a=150b=6.请解释一下.

我认为当它执行时a会被计算为a=4*5*6=120但是根据编译器不是真的,所以请解释逻辑....

c

4
推荐指数
2
解决办法
241
查看次数

这个typedef语法如何工作..?

#include<iostream.h>
#include<conio.h>

typedef ostream& (*T)(ostream& , int);
class Base
{
    T fun;
    int  var;
    public:
    Base(T func, int arg): fun(func) , var(arg)
    {};
    friend ostream& operator<<(ostream& o, Base& obj)
    {
        return obj.fun(o,obj.var);
    }
};

ostream& odisp(ostream& o, int i);
{
    o<<”i=”<<i<<endl;
    return o;
}
Base disp(int i)
{
    return base(odisp, i)
};
Run Code Online (Sandbox Code Playgroud)

自从第一行起,我就完全陷入了困境,因为我无法弄清这个typedef的工作原理..它看起来像是函数语法的指针,但再次ostream让我感到困惑。请解释一下整个代码的工作原理。

c++ typedef ostream

1
推荐指数
1
解决办法
234
查看次数

标签 统计

c ×1

c++ ×1

ostream ×1

typedef ×1