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

C ++の引数依存ルックアップ(Koenigルックアップ)とは何ですか?


引数依存のルックアップ(ADL)は、関数呼び出し式で修飾されていない関数名を検索するためのプロトコルです。

これらの関数呼び出し式には、オーバーロードされた演算子への暗黙の関数呼び出しが含まれます。

関数名は、通常の非修飾名検索で考慮されるスコープと名前空間に加えて、引数の名前空間で検索されます。引数に依存するルックアップにより、別の名前空間で定義された演算子を使用できます。

namespace MyNamespace{
   class A {};
   void f( A &a, int i) {}
}
int main() {
   MyNamespace::A a;
   f( a, 0 );    //calls MyNamespace::f
}

fへの関数呼び出しのルックアップは、引数aに依存していました。同じケースが、cout、cin、endlなどを使用するときにstd名前空間で検索される<<や>>などの引数にも適用されます。


  1. C ++のswap()関数

    swap()関数は、2つの数値を交換するために使用されます。この関数を使用すると、2つの数値を交換するために3番目の変数は必要ありません。 C ++言語でのswap()の構文は次のとおりです。 void swap(int variable_name1, int variable_name2); 変数に値を割り当てるか、ユーザー定義の値を渡すと、変数の値が交換されますが、変数の値は実際の場所では同じままです。 これがC++言語でのswap()の例です 例 #include <bits/stdc++.h> using namespace std; int main() { &nb

  2. LinuxでのC++の最高のIDEは何ですか?

    大きなプロジェクトは、単なるテキストエディタでは管理が困難です。このような場合にIDEを使用すると、生産性が向上し、フラストレーションが軽減される可能性があります。 IDEにはさまざまな種類があり、ニーズに合ったものを選択する必要があります。 Linux上のC++に最適なIDEは1つではありません。ツールは賢く選ぶ必要があります。 Linux用の人気のあるIMOの最高のIDEのリストは次のとおりです。 C /C++開発用のNetbeans- Netbeansは、C /C++および他の多くのプログラミング言語向けの無料のオープンソースで人気のあるクロスプラットフォームIDEです。コミュニテ