問題タブ [anonymous-struct]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
201 参照

c++ - 柔軟な配列を匿名構造体にラップすると、MSVC構造体レイアウトが変更されますか?

Godbolt を使用して、次の構造体のレイアウト情報を見ています。

両方の構造体のレイアウトが同じであるFoo1と予想していFoo2ました。私が理解していることから、匿名のネストされた構造体のフィールドは、単に親構造体に「折りたたまれ」ます。したがって、 のレイアウトは のレイアウトとFoo2同じになるはずですFoo1

ただし、MSVC 19.16 によって生成され、フラグを使用したときに表示されるレイアウトは/d1reportSingleClassLayoutFoo異なります。

Foo2の倍の大きさですFoo1。そしてdata突然、1バイトのサイズがあるようです。

で生成されるいくつかの警告があります-Wall:

しかし、これらのいずれも、レイアウトの違いを説明したり、未定義の動作を示唆したりするようには見えません。そして、ドキュメント: Anonymous structsもそうではありません。

記録として、このコードが MSVC 拡張機能に依存していることは知っています。

「サイズがゼロの配列」は、フィールドの前に配置するとエラーがスローdataされるため、柔軟な配列メンバーのようです。size

Foo1とのレイアウトがFoo2異なるのはなぜですか?

0 投票する
1 に答える
362 参照

go - テンプレートのパイプラインとしての匿名構造体

で次のことを行う方法はありhtml/templateますか?

上記のように、実際はテンプレートを意味します。FuncMap構造体を返す登録済みの関数経由ではありません。

私はそれを試しましたが、Parseパニックになりました。 Playground を参照してください。多分私は構文を間違ったのですか?

0 投票する
0 に答える
161 参照

c++ - クラス外のプライベート構造体メンバーにアクセスできるのはなぜですか

このプライベート struct メンバーにアクセスすると、msvc コンパイラはメンバーにアクセスできないことを通知しましたが、コードは正常に実行できます。

しかし、構造体メンバーを省略した場合、コードは実行できません

txt出力

私はコードを編集しました。このコードはテストを行うことができます。私はvs2015(ツールv140)を使用しています

0 投票する
2 に答える
122 参照

go - フィールドが匿名構造体内でエクスポートされるかどうかは違いがありますか?

golangの匿名構造体のフィールドをエクスポートする(またはエクスポートしない)と違いはありますか? 言い換えれば、次の 2 つのコード ブロックは、何らかの点で互いに異なるのでしょうか? それが匿名の構造体であることを考えると、変数自体の外部で構造体を使用することはできないため、コンパイル時に大文字の F は違いがないと仮定します (コンパイル速度や実行時のメモリの違いはありません)。

ブロック 1:

ブロック 2: