#define q(k)main(){return!puts(#k"\nq("#k")");}
q(#define q(k)main(){return!puts(#k"\nq("#k")");})
Run Code Online (Sandbox Code Playgroud)
这段代码可以在屏幕上打印出来,但是我很难阅读它,特别是那两个#K,它是如何工作的?我知道#define q(k)2*k是如何工作的,但我真的不知道关于这段代码.请帮我分析一下!谢谢!
我经常在实验室看到Vim,但我也知道Vi,但我从来没有机会使用它,我用google搜索它,但找不到下载Vi的网站。你能告诉我 Vi 和 Vim 之间的关系和区别吗,如果可能的话,给我一个下载 Vi 的 url。谢谢!
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class twobuttons
{
int x=70;
int y=70;
public static void main(String args[])
{
twobuttons gui =new twobuttons();
gui.go();
}
public void go()
{
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mydraw drawpanel = new mydraw();
frame.getContentPane().add(drawpanel);
frame.setSize(300,300);
frame.setVisible(true);
for(int i=0;i<130;i++)
{
x++;
y++;
drawpanel.repaint();
try
{
Thread.sleep(50);
}
catch(Exception ex)
{
}
}
}
class mydraw extends JPanel
{
public void paintconponent(Graphics g)
{
g.setColor(Color.green);
g.fillOval(x, y, 40, 40);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是Head First …
最近,我正在学习MFC,下面的代码让我很困惑:
class CRect : public tagRECT
{
public:
// Constructors
// uninitialized rectangle
CRect();
// from left, top, right, and bottom
CRect(int l, int t, int r, int b);
// copy constructor
CRect(const RECT& srcRect);
// from a pointer to another rect
CRect(LPCRECT lpSrcRect);
// from a point and size
CRect(POINT point, SIZE size);
// from two points
CRect(POINT topLeft, POINT bottomR
...
Run Code Online (Sandbox Code Playgroud)
CRect的基类是一个结构!我以前从没学过这个.如果我打电话的话
CWnd :: GetClientRect(LPRECT lpRect);
我可以使用rect或&rect(CRect rect)作为参数.这太神奇了!
我想知道有关struct base的类的一些规则.谢谢!