![]() |
1
76
C++是一种更低级的语言,它在没有解释器上下文的情况下执行。因此,它比Python有许多不同的设计选择,因为C++没有依赖于管理类型和内存的信息的环境。C++可以用来编写一个操作系统内核,其中除了程序本身之外,没有机器上运行的代码,这意味着语言(一些库设施不适用于所谓的独立实现)必须是自包含的。这就是为什么C++没有Python的等价物的原因。
对于您的个人问题:
这里我会注意到使用指令(
这个
不。
|
![]() |
2
10
在帖子末尾回答你的问题时,它可以用C++的哲学来概括: 你不为你不使用的东西付钱。 您不必总是使用stdin或stdout(windows/gui应用程序?)你也不会总是使用STL,你所写的每一件东西都不一定会使用标准的main(WiAPI)等。正如前面的海报所说的,C++比Python低。你将接触到更多的细节, 为你提供更多的控制权。 |
![]() |
3
7
如果不打算在该模块中使用iostreams,就不需要它。在大型程序中,很少有模块直接执行任何实际的IO,因此很少有模块实际需要使用IO流。 解决这个问题:在Python中,您需要在大多数非常重要的程序中导入sys和/或os。为什么?
您可以使用using行,也可以使用std::前缀。这与python给您的选择非常相似,要么说“from sys import*”,要么说“import sys”,然后必须用“sys”作为前缀。在python中,您必须说“sys.stdout”。“std::cout”真的更糟吗?
是的,MAIN是一个函数。一般来说,你自己也不会称之为“少校”。名称“main”是为程序的入口点保留的。它返回一个整数,因为返回的值用作程序的状态代码。在python中,如果要返回非零状态代码,可以使用sys.exit。 python没有相同的约定,因为使用python,可以在模块中而不是在函数中使用代码。此代码在加载模块时执行。有趣的是,许多人认为在模块的顶层有代码是不好的风格,而是通过这样做来创建一个主函数:
另外,在python中,当您运行解释器时,告诉它module是“主”模块。例如:“python foo.py”。在C语言中,“main”模块(实际上)是具有一个称为main的函数的模块。(如果有多个模块具有主功能,则为链接器错误。)
python中的等价物实际上是“sys.stdout.write(…)”。python的print语句是一个特例,即速记。 这就是说,很多人确实觉得iostreams为io使用位移操作符的约定是个坏主意。具有讽刺意味的是,python似乎受到了这种语法的“启发”。如果您想使用print写入到stdout以外的其他地方,可以说:
你不会使用它,但你的程序会。如前所述,返回的值是程序的状态代码。 旁白:我确实觉得C++过于复杂,但不是因为你提到的任何一点。一旦您开始编写具有多个模块且不仅仅是写入stdout的非平凡程序,您所提到的所有差异就消失了(从某种意义上说,您在python中需要的复杂性是一样的)。 |
![]() |
4
6
你包括
这个
你可以一直使用
你
编译器不会自动包含所有标准库并使用命名空间
|
![]() |
5
6
所有这些事情都有充分的理由。C++是一种非常广泛的语言,它用于从小型嵌入式系统到由100s程序员构建的巨型应用程序。一个人在桌面上运行一个小程序的用例决不是唯一的。因此,有时您正在构建库组件。在这种情况下,没有main()。有时,您在一个没有标准库的小型系统上工作。在这种情况下,没有标准。有时您希望构建一个与其他Unix文本工具一起工作的Unix工具,并用从main()返回的int来表示其完成状态。 换句话说,你抱怨的事情就是你的样板。但这些细节对语言的其他用户来说是至关重要的。 |
![]() |
6
5
这让我想起 The Evolution of a Programmer . 现在演示的一些语言和技术有点过时,但您应该了解一般的概念。:) |
![]() |
7
5
C++之所以相当复杂的原因之一,是因为它是为了解决大型程序中出现的问题而设计的。在C++被创建为AT&AMT时,他们最大的C程序是大约1000万行代码。在这个尺度上,C的功能不是很好。C++解决了这类程序中的许多问题。 有了这一点,也可以回答最初的问题:
|
![]() |
8
3
Baldur:
你并不总是需要
其他一切都是特定于应用程序的。
正如其他海报上说的那样,
一 这在编写与其他程序“通信”的程序时很有用。程序能够“告诉”另一个程序是否正确执行的最简单的方法是使用错误代码。 |
![]() |
9
2
正如人们所说,简单的答案是他们是不同的语言,有不同的目标。回答你的具体问题…
你可以使用
C++中的可执行语句必须包含在函数中,并且
你可以打电话
的返回值
这只是设计上的不同。iostreams是一个相当复杂的野兽,有很多特性,其中的一个副作用是语法有时对于简单的任务来说有点难看。
您确实使用它;这是作为程序退出状态返回到操作系统的值。 |
![]() |
10
0
蟒蛇 高级 语言。C++是 中层 语言。 |
![]() |
AstralHex · 矩阵乘法代码工作不正常 6 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 6 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 6 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 7 月前 |