【发布时间】:2020-08-26 05:21:58
【问题描述】:
不是关于特定代码的问题,但在 C++ 中,使用 <stdio.h> 的运算符 scanf/printf 在我看来与标题 <iostream> 中的 cout 或 cin 相同,所以任何人都可以解释一下运算符之间的区别,我们为什么以及何时使用其中任何一个?如果之前有人问过这个问题,请谦虚地道歉,但是
谢谢。
【问题讨论】:
-
虽然 C++ 可以与 C 对话,但 C 和 C++ 是两种不同的语言。在 C++ 中,将数据发送到标准输出的惯用方式是通过
std::cout对象和<<运算符。该对象在标准库头<iostream>中定义。 Portable C++ 中的 C 库以c为前缀。所以<stdio.h>变成<cstdio>并且没有.h扩展。 C++ 标准库中没有<iostream.h>标头。 -
所以它是一个用于输入、输出的库,最初用 C 实现,然后在 C++ 中变得可移植,对吗?
-
这能回答你的问题吗? C++ Streams vs. C-style IO?
-
虽然它确实回答了我正在寻找的内容,但它非常详细,我只是对某些术语有些困惑。一些答案说 printf 比 C++ 流更快。究竟是什么方面更快?如果它更快(这可能也意味着更好)为什么在 C++ 中使用不安全?我也不明白一个关于有分歧的答案。
-
这里我会引用“你不能在对象的类型和格式字符串中指定的类型之间存在分歧”。
标签: c++