0

最近、C++ に関する本を読み、主にクラスについて説明していました。いくつかのサンプル コードを見ていると、次のステートメントに混乱しています。

struct SomeName* SomeOtherName();

構造体は一般的なアーキテクチャのクラスに似ていることを知っているので、上記を見ると、実際にはクラスのような構造体を参照しているのでしょうか、それとも構造体を返す関数宣言なのでしょうか? (むしろ、構造体へのポインターを返します)

構造体はクラスのようなものであったり、単純なデータ構造であったりするため、C++ で「構造体」という言葉を使用すると、多くの混乱が生じることがよくあります。

4

2 に答える 2

8

それとも、これは構造体を返す関数宣言ですか? (むしろ、構造体へのポインターを返します)

うん、これ。

于 2012-12-09T11:46:32.933 に答える
2
struct SomeName* SomeOtherName();

これは、へのポインタをSomeOtherName()返す関数です。*struct SomeName

複雑なC/C++宣言を解釈する方法または「時計回り/スパイラルルール」も参照してください。

于 2012-12-09T12:02:40.317 に答える