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

C / C ++関数呼び出しパズル?


このC/C ++関数呼び出しパズルは、プログラミング言語CとC++/の両方でのメソッド呼び出しの動作について詳しく調べることを目的としたパズルです。

CとC++のメソッドの出力は異なります。 CとC++でのメソッドの呼び出しの違いを見てみましょう。

例を見て、cおよびc++での以下のコードの出力を確認してみましょう。

void method() {
   // Print statement
}
int main() {
   method();
   method(2);
}

出力

C++の場合-

Error : too many arguments to function ‘void method()’

Cの場合-

Program runs without any error.

出力とエラーの背後にあるロジック

C ++プログラミング言語のコンパイラは、関数method()をパラメータのない関数として扱いますが、Cコンパイラの同じ関数は、関数method()を可変引数を受け入れることができる関数として扱うため、非常に効率的に機能します。

>

このため、定義にパラメータがないメソッドに引数を渡すと、出力ウィンドウに「エラー:引数が多すぎて関数「voidfunc()」と表示されない」というエラープロンプトが表示されます。

また、Cでは、渡された引数が受け入れられ、関数内のコードが実行されます。


  1. A-C / C ++のバッファメソッド?

    コンピュータグラフィックスのバッファ技術は、中規模の仮想メモリコンピュータに使用される単純な隠し顔検出メカニズムです。この手法は、アンチエイリアスまたはエリア平均または累積バッファとしても知られています。この手法は、深度バッファ(またはZバッファ)手法のアルゴリズムを拡張します。デプスバッファ手法は不透明なオブジェクトにのみ実装でき、透明なオブジェクトには実装できないため、このシナリオではAバッファ手法が有利です。 Aバッファ技術はより多くのメモリを必要としますが、それを実装することでさまざまな表面色を正しく構成できます。 Zバッファアルゴリズムの子孫であるため、バッファ内の各位置は、サーフェ

  2. C / C ++のSystem()関数

    与えられたタスクは、C / C ++でのsystem()の動作を示すことです。 system()関数は、C /C++標準ライブラリの一部です。コマンドプロセッサまたはオペレーティングシステムの端末で実行できるコマンドを渡すために使用され、完了後に最終的にコマンドを返します。 この関数を呼び出すには、またはを含める必要があります。 構文 構文は次のとおりです- int system(char command) コマンドがエラーなしで実行された場合、この関数はゼロを返します。 例 Input: system(“date”) Output: The current d