我刚刚开始使用C ++,我们正在学习代码中的典型语句。我们通常使用的是实际程序部分开头的int main()
。我知道我们也可以使用void main()
。
我的问题是,为什么我们使用int
?我认为这是用于定义变量类型。我们实际上是在声明整个代码是变量吗?
答案 0 :(得分:1)
let context: CGContext = UIGraphicsGetCurrentContext()!
context.setLineWidth(4.0)
context.setStrokeColor(UIColor(hue: 0, saturation: 0, brightness: 94, alpha: 242).cgColor)
let theFillColor: UIColor = UIColor(hue: 0, saturation: 100, brightness: 80, alpha: 204)
context.setFillColor(theFillColor.cgColor)
let rectangle: CGRect = CGRect(x: 5.0, y: 5.0, width: rect.size.width-10.0, height: rect.size.height-10.0)
context.beginPath()
context.addEllipse(in: rectangle)
context.drawPath(using:CGPathDrawingMode.fillStroke)
let smallRect: CGRect = rectangle.insetBy(dx: 40, dy: 40)
context.beginPath()
context.addEllipse(in: smallRect)
context.drawPath(using: CGPathDrawingMode.fillStroke)
UIGraphicsEndImageContext()
函数(它是程序的入口点)由C ++标准定义为始终返回main
。根据标准,int
不有效(即使您的编译器接受它)。
void main
返回值的目的是向操作系统返回一个值,告诉它您的程序是否成功完成。有两个明确定义的宏可用于返回这样一个值,您可以依赖它具有合理的含义 - 它们是int
和EXIT_SUCCESS
。您可以返回除这些之外的其他值,但仅保证具有合理的语义含义 - 任何其他值将依赖于平台/操作系统(并且{{{ 1}} 通常零,你不能依赖它 - 在VMS(例如)上不是真的,所以你真的应该在可移植代码中使用宏 - 而且不管怎样,{{1传达意义比EXIT_FAILURE
更清晰。
EXIT_SUCCESS
与所有其他函数相比是特殊的,因为如果没有显式返回任何值,它会隐式返回return EXIT_SUCCESS;
- 我不喜欢依靠那个;我更愿意明确地返回我打算返回的内容。