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

「void*」はCとC++でどのように異なりますか?


このセクションでは、CのvoidポインターとC++のvoidポインターの違いを説明します。これらは両方ともvoidポインターですが、Cではvoidポインターを任意のポインター型に割り当てることができますが、C++ではそれを行うことはできません。 C ++では、割り当てるために明示的に型キャストする必要があります。

次の例では、Cでコードを記述しているときに、これらの行を実行できます。

void *p;
int *int_ptr = p;

これはCで正常に機能します。malloc()を使用してメモリスペースを割り当てる場合は、明示的な型キャストを使用できますが、そうでない場合も問題ありません。 malloc()関数はvoidポインタを返します。

int *int_ptr = malloc(sizeof(int) * 10);

ここで、返されたvoidポインターは、暗黙的に整数型ポインターに変換されます。

ここで、CとC ++で同じプログラムを実行する場合は、ポインターを明示的に型キャストする必要があります。

void *p;
int *int_ptr = (int *) p;
int *arr_ptr = (int *) malloc(sizeof(int) * 10);

  1. C ++で組み合わせと順列を計算する方法は?

    組み合わせと順列は組み合わせ論の一部​​です。順列は、要素が一度に1つずつ、一度にいくつか、または一度にすべて取得される場合に、要素のセットが作成できるさまざまな配置です。組み合わせとは、要素を一度に1つずつ、一部を一度に、または一度にすべて取得する場合に、要素を選択するさまざまな方法です。 合計n個の要素があり、r個の要素を配置する必要がある場合の順列の数。 合計n個の要素があり、r個の要素を選択する必要がある場合の組み合わせの数。 C++で組み合わせと順列を計算するプログラムは次のとおりです。 例 #include <iostream> using names

  2. VoidLinuxとは何ですか。インストール方法

    Void Linuxは、強力でありながらアプローチしやすいオペレーティングシステムを提供することを目的としたLinuxディストリビューションです。シンプルかつ安定するように設計されており、runitと独自の軽量パッケージマネージャーを使用することでそれを実現しています。 Arch Linuxと同様に、VoidLinuxは「ローリングリリース」モデルと「ユーザー中心」のアプローチに従ってオペレーティングシステムを使用します。これは、Void Linuxが常に更新されていることを意味しますが、インストール時に必要最低限​​のものでもあります。これにより、Void Linuxは、完全に理解していじ