C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++のprintf()とcoutの違いは何ですか?


printf()

これは主にC言語で使用されます。標準出力に印刷するフォーマット機能です。コンソールに印刷し、フォーマット指定子を使用して印刷します。整数値を返します。入力パラメータのタイプセーフではありません。 C++言語でも使用できます。

CおよびC++言語でのprintf()の構文は次のとおりです。

printf(“string and format specifier”, variable_name);

ここで

  • 文字列 −コンソールに印刷するテキスト/メッセージ。

  • フォーマット指定子 −変数のデータ型に応じて、%d、%sなどの形式指定子を使用します。

  • variable_name −変数を宣言するために付けられた任意の名前。

これがC言語のprintf()の例です

#include<stdio.h>
int main() {
   int a = 24;
   printf("Welcome! \n");
   printf("The value of a : %d",a);
   getchar();
   return 0;
}

出力

これが出力です

Welcome!
The value of a : 24

cout

これはC++言語で使用されます。これは、C++言語のiostreamのオブジェクトです。また、コンソールに出力します。印刷するのにフォーマット指定子は必要ありません。何も返しません。入力パラメータはタイプセーフです。

出力

これがC++言語でのcoutの構文です

cout << “string” << variable_name << endl;

ここで

  • 文字列 −コンソールに印刷するテキスト/メッセージ。

  • 変数名 −宣言時に変数に付けられた名前。

これがC++言語でのcoutの例です

#include <iostream>
using namespace std;
int main() {
   int a = 28;

   cout<< "The value of a : " << a;
   printf("\nThe value of a : %d", a);
   
   return 0;
}

出力

これが出力です

The value of a : 28
The value of a : 28

  1. C ++のドット(。)演算子と->の違いは何ですか?

    ドットと矢印の演算子は、どちらもC++でクラスのメンバーにアクセスするために使用されます。それらはさまざまなシナリオで使用されます。 C ++では、class、struct、またはunionとして宣言された型は、「クラス型」と見なされます。したがって、以下は3つすべてを指します。 a.bは、bがオブジェクトのメンバー(またはオブジェクトへの参照[1])である場合にのみ使用されます。したがって、a.bの場合、aは常にクラスの実際のオブジェクト(またはオブジェクトへの参照)になります。 a→bは基本的に(* a).bの省略表記です。つまり、aがオブジェクトへのポインタである場合、a→bはポイ

  2. C ++の#defineとconstキーワードの違いは何ですか?

    #defineディレクティブはプリプロセッサディレクティブです。プリプロセッサは、コンパイラがマクロを認識する前に、これらのマクロを本体に置き換えます。これは、ソースコードの自動検索と置換と考えてください。 const変数宣言は、言語で実際の変数を宣言します。これは、実際の変数のように使用できます。アドレスを取得し、渡し、キャストし、変換します。 コンパイラの最適化がないと、さまざまなケースでこれらの両方に関連するメモリ割り当ての隠れたコストが発生します。しかし、適切に最適化すれば、それらはほぼ同じになります。また、プリプロセッサマクロにはスコープがありませんが、const値にはスコープがあ