c++ - c 语言 struct 声明格式
高洛峰
高洛峰 2017-04-17 14:36:01
0
7
555

请问一下,下面代码第五行的语法是什么意思呢?

struct ListNode {
public:
    int val;
    ListNode *next;
    ListNode(int x) : val(x), next(NULL) {}
};
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(7)
洪涛

これは C ではなく C です。

いいねを押す +0
迷茫

C 構造は C 構造とは少し異なります。C 構造は C 構造を拡張し、メンバー関数を持つことができます。したがって、C 構造はクラスに似ていますが、そのすべてのメンバーがデフォルトでパブリックである点が異なります。これはクラスとはまったく逆です。
コードの 5 行目はコンストラクターで、その後に続く「:」はコンストラクターのパラメーター リストで、メンバー変数の初期化に使用されます。

いいねを押す +0
大家讲道理

これは LeetCode で指定されたリンク リスト ノードではありませんか? 5行目はコンストラクターです。

いいねを押す +0
迷茫

構造体をクラスとして理解すれば明らかです

いいねを押す +0
Peter_Zhu

5 行目は C のコンストラクターです

いいねを押す +0
洪涛

これは C で、5 行目はクラスのコンストラクターで、初期化リストを使用して初期化されます。 C の構造体とクラスは似ていますが (具体的な違いは自分で見つけてください)、C 言語の構造体に関数を定義することはできません。

いいねを押す +0
刘奇

これは C です。C のクラス定義は struct または class です。違いは、struct メンバーのデフォルトが public であることと、クラスのデフォルトが private であることです。

リーリー

は C のコンストラクターであり、val(x), next(NULL) は初期化を表します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート