我开始从C学习C++.最近,我刚读了一本关于C++的教程.在" 介绍流 "一节中,本书注意到:
<<运算符被重载,因此右侧的操作数可以是字符串或任何原始值.如果此操作数不是字符串,则<<运算符在将其发送到输出流之前将其转换为字符串形式.
所以我想知道printf()C中的函数是否具有相同的效果.如果没有,请告诉我他们两者之间的差异.
可能重复:
在C++ cin或printf中printf vs cout
?
我一直想知道printf和cout ..哪一个最终更快,并且它也是最灵活的(即可以打印一系列变量,输出可以格式化)?
PS我知道这看起来类似于C++中的'printf'和'cout',但我并不是真的在问同样的事情.
我用 C++ 和 Java 编写了一个程序来打印“Hello World”100,000 次,但我注意到与 Java 代码相比,C++ 代码花费的时间太长;Java代码平均需要6秒左右,C++代码平均需要18秒左右,都是从命令行运行;有人可以解释一下原因吗,谢谢。
对于Java和C++,程序的名称分别是first.java和first.cpp,我使用 java first.java:和 first.exe; 都来自命令行
g++ --version g++(Rev6,由 MSYS2 项目构建)11.2.0
java --版本 java 13.0.2, 2020-01-14
Java代码
class first {
public static void main(String... args) {
long start = System.currentTimeMillis();
for (int i = 0; i < 100000; i++) {
System.out.println("Hello World");
}
long end = System.currentTimeMillis();
long dur = end - start;
System.out.println(dur / 1000);
}
}
Run Code Online (Sandbox Code Playgroud)
C++代码
#include <iostream>
#include <string>
#include <chrono>
using namespace std;
int …Run Code Online (Sandbox Code Playgroud) 我们中的许多人printf()在学会使用构造函数和析构函数之前很久就学会了使用。因此,当需要切换到 C++ 时,许多人会坚持printf()使用控制台输出。
有时你会听到:
printf()不好,你应该cout <<改用,因为它是 C++
放弃使用printf()而改用 有cout <<什么好处?