我买了一门关于udemy的C编程课程。导师总是在接受用户的输入之前将变量初始化为0。
int a = 0;
printf("Enter the number: \n");
scanf("%d",&a);
printf("The number you have entered is %d",a);
return 0;
是否有需要这样做?
我是MFC编程的新手。这些天,我正在使用Jeff Prosise的书来学习MFC编程。我遇到过:CClientDC dc (this);和我从CClientDC类的定义中找到了一个构造函数:CClientDC(CWnd* pWnd);,但是如果我用CClientDC dc = CClientDC(this);替换CClientDC dc (this);。编译器告诉我这是个错误。我不能理解。我认为CClientDC dc (this);和CClientDC dc = CClientDC(this);是一样的。或者换句话说,前者是一种简单的形式。
非常感谢。
import java.io.*;
public class Test {
public static void main(String[] args) throws IOException {
try ( ObjectOutputStream output =
new ObjectOutputStream(new FileOutputStream("object.dat")); ) {
output.writeObject(new A());
}
}
}
class A implements Serializable {
当我第一次开始使用面向对象的编程语言时,我得到了以下规则:
在类中声明字段时,不要初始化它。在构造函数中这样做。
C#中的一个例子:
public class Test
{
private List<String> l;
public Test()
{
l = new List<String>();
}
}
但最近有人问我为什么要这么做,我想不出原因。我不太熟悉C# (或其他编程语言)的内部工作,因为我认为这可以在所有OO语言中实现。
那为什么要这么做?是保安吗?财产?